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

阅读剩余
THE END