linux c sleep,linux命令
linux系统 下 如何让C语言sleep()函数等待时间小于1秒
sleep()函数大概只能精确到50ms左右,你用sleep(10)是肯定不行的,如果你要精确的定时的话可以使用QueryPerformanceFrequency()函数,用法为:
LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
QueryPerformanceFrequency(&litmp);
dfFreq=(double)litmp.QuadPart;//获得计数器的时钟频率
QueryPerformanceCounter(&litmp);
QPart1= litmp.QuadPart;//获得初始值
do
{
QueryPerformanceCounter(&litmp);
QPart2= litmp.QuadPart;//获得中止值
dfMinus=(double)(QPart2-QPart1);
dfTim= dfMinus/ dfFreq;//获得对应的时间值,单位为秒
}while(dfTim<0.001);
其定时误差不超过1微秒,精度与CPU等机器配置有关。
×××××××××××××××××××××××××
sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.
比如,等待0.1秒:
sleep(100);
C语言中的sleep()函数
在C语言中,有两个与时间延迟相关的函数:Sleep()和usleep(),以及一个较少使用的delay()。Sleep()函数在Windows环境下通常与#include<windows.h>一起使用,而在Linux或GCC中可能使用#include<unistd.h>。在Windows下,Sleep()以毫秒为单位,如Sleep(1000)表示暂停1秒。而在Linux下,sleep()函数用于秒级延迟,不区分大小写。例如:
Sleep函数在Windows中用法是unsigned sleep(unsigned seconds);例如:Sleep(3000)会暂停3秒。而在Linux或GCC中,用法是void sleep(int seconds);
usleep()函数用于微秒级延迟,如void usleep(int micro_seconds),但它仅在非Windows系统上可用,对于较短的延迟时间,usleep()更为合适,因为它不会占用处理器资源。
delay()函数则是dos.h中的一个函数,用于暂停程序执行,单位是毫秒,如void delay(unsigned milliseconds)。与Sleep()不同,delay()会循环等待,进程仍在运行,会占用处理器资源。
c语言的 sleep函数到底在哪个头文件里啊
在<windows.h>里面。
在VC中使用时,sleep函数的头文件为windows。h,在Linux下,gcc编译器中,使用的头文件因gcc版本的不同而不同
在VC中,Sleep中的第一个英文字符为大写的"S",在linux下不要大写,在标准C中是sleep,不要大写,简单的说VC用Sleep,别的一律使用sleep
在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);在Linux下,sleep()里面的单位是秒,而不是毫秒。
扩展资料:
Windows.h头文件之所重要,是因为头文件封装了许多库函数以及一些类,将一些复杂的工作由库函数处理,Windows.h头文件中包含了Windef.h、Winnt.h、Winbase.h、Winuser.h、Wingdi.h等头文件,涉及到了Windows内核API,图形界面接口,图形设备函数等重要的功能。
在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。
参考资料来源:百度百科-windows.h