Linux延時函式

2021-07-07 06:17:24 字數 732 閱讀 8250

每乙個平台不太一樣,最好自己定義一套跨平台的巨集進行控制。

dos:

sleep(1); //停留1秒 

delay(100); //停留100毫秒   

windows: 

sleep(100); //停留100毫秒 

linux: 

sleep(1); //停留1秒 

usleep(1000); //停留1毫秒 

每乙個平台不太一樣,最好自己定義一套跨平台的巨集進行控制  

linux下的sleep函式原型為:

unsigned int sleep(unsigned int seconds);

而mfc中的sleep函式原型為:

void sleep(dword dwmilliseconds);

也就是說,linux下(使用的gcc的庫),sleep()函式是以秒為單位的,sleep(1)就是休眠1秒。而mfc下的sleep()函式是以微秒為單位的,sleep(1000)才是休眠1秒。而如果在linux下也用微妙為單位休眠,可以使用執行緒休眠函式:

void usleep(unsigned long usec);

當然,使用的時候別忘記#include 。另外值得一提的是,linux下還有個delay()函式,原型為

extern void delay(unsigned int msec);

它可以延時msec*4毫秒,也就是如果想延時一秒鐘的話,可以這麼用 delay(250);

Linux 核心延時函式

linux核心提供3個函式分別進行納秒,微妙和毫秒延時 void ndelay unsigned long nsecs void udelay unsigned long usecs void mdelay unsigned long msecs 這3個函式的延時原理是忙等待,也就是說在延時的過程中...

Linux核心的延時函式

第一類延時函式原型是 忙等 標頭檔案是 include void ndelay unsigned long nsecs void udelay unsigned long usecs void mdelay unsigned long msecs 說明 核心函式 ndelay,udelay,以及 m...

三 Linux延時函式示例

應用程式延時 標頭檔案 include 函式原型 unsigned int sleep unsigned int seconds 延時單位 秒 int usleep useconds t usec 延時單位 微妙 驅動模組延時 標頭檔案include 函式原型 void ndelay unsigne...