Zentry中文网

linux和windows下,C/C++的sleep函数

发布日期:2025-01-04 11:24    点击次数:92
简介:  函数名: sleep   功 能: 执行挂起一段时间   用 法: unsigned sleep(unsigned seconds);   在VC中使用带上头文件   #include <windows.h>   在gcc编译器中,使用的头文件因gcc版本的不同而不同 linux系统需要添加的头文件  #include <unistd.h> 注意   :   在VC中Sleep中的第一个英文字符为大写的"S"   在标准C中是sleep, 不要大写.. 下面使用大写的来说明,, 具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep.   Sleep函数的一般形式:   Sleep(unisgned long);   其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);   在Linux下,sleep中的“s”不大写   sleep()里面的单位是秒,而不是毫秒。   linux下,用g++编译,得添加unistd.h头文件,gcc则加不加都可以,因为标准C中有sleep文件了。 例   #include <windows.h>   int main()   {   int a;   a=1000;   Sleep(a);/* VC 使用Sleep*/   return 0;   }     应用程序:#include <syswait.h>usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒驱动程序:#include <linux/delay.h>mdelay(n) //milliseconds 其实现#ifdef notdef#define mdelay(n) (\{unsigned long msec=(n); while (msec--) udelay(1000);})#else#define mdelay(n) (\(__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000) : \({unsigned long msec=(n); while (msec--) udelay(1000);}))#endif调用asm/delay.h的udelay,udelay应该是纳秒级的延时 Dos: sleep(1); //停留1秒 delay(100); //停留100毫秒   Windows: Sleep(100); //停留100毫秒 Linux: sleep(1); //停留1秒 usleep(1000); //停留1毫秒 每一个平台不太一样,最好自己定义一套跨平台的宏进行控制  秒还是微秒?关于延时函数sleep()

上一篇:快科技资讯2022年09月02日Blog版
下一篇:基于AD-AS模型的海岸带生态系统综合承载力评估——以舟山海岸带为例