1. 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()裡面的單位是秒,而不是毫秒。
(1)linuxcsleep函數擴展閱讀:
Windows.h頭文件之所重要,是因為頭文件封裝了許多庫函數以及一些類,將一些復雜的工作由庫函數處理,Windows.h頭文件中包含了Windef.h、Winnt.h、Winbase.h、Winuser.h、Wingdi.h等頭文件,涉及到了Windows內核API,圖形界面介面,圖形設備函數等重要的功能。
在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明,而定義文件用於保存程序的實現。
2. sleep函數具體應該怎麼用 你給的那個例子上機顯示函數未定義
函數名: sleep
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
在VC中使用帶上頭文件
#include <windows.h>
在gcc編譯器中,使用的頭文件因gcc版本的不同而不同
#include <unistd.h>
注意
:
在VC中Sleep中的第一個英文字元為大寫的"S"
在標准C中是sleep, 不要大寫.. 下面使用大寫的來說明,, 具體用什麼看你用什麼編譯器. 簡單的說VC用Sleep, 別的一律使用sleep.
Sleep函數的一般形式:
Sleep(unsigned long);
其中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000);
在Linux下,sleep中的「s」不大寫
sleep()裡面的單位是秒,而不是毫秒。在內核中,sleep的實現是由pause函數和alarm函數兩個實現的。
3. 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);
4. linux中C語言編程時的sleep函數和clear函數的問題
while(n!=0)
{
printf("%2d:%2d:%2d\n",n/3600,(n%3600)/60,n%60); //這里必須要有\n,不然,因為緩存的問題,系統默認輸出是行緩存輸出,在沒有遇到回車換行時,緩存沒有滿時,數據會一直不能輸出,加了回車,就可以輸出了。
5. Linux下的sleep函數 要用的話得包涵什麼頭文件啊
Linux下的sleep函數要用的話得需要#include <unistd.h>
sleep把進程的運行狀態改為睡眠,將其從系統可執行隊列去掉,這樣系統就不會調度到該進程,不會分配CPU時間片,同時根據該進程的睡眠時間,將進程掛入相應的定時器隊列中。
同時內核維持一個定時器隊列,每一次時鍾中斷處理,都把當前到期的隊列中的進程喚醒,加入到可運行進程隊列中。 同時對所有掛入定時器隊列中的進程時間值減1。
參考代碼:
#include<stdio.h>
#include<unistd.h>
intmain()
{
int sec=0,
usec=0;
while(1)
{
printf("sec=%d ",++sec);
sleep(1);
printf("usec=%d ",++usec);
usleep(1000000);
}
return0;
}
(5)linuxcsleep函數擴展閱讀:
在Linux下,sleep中的「s」不大寫
sleep()單位為秒,usleep()裡面的單位是微秒。在內核中,sleep的實現是由pause函數和alarm函數兩個實現的。
特別注意在Codeblocks環境下是無法使用sleep函數的,因為在windows上Codeblocks採用mingw(Gnu在Window環境下的編譯器,可以充分使用WindowsApi)作為編譯器,而在stdlib.h中sleep的說明如下:_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;可以認為mingw舍棄了sleep函數,建議用Sleep實現sleep。
6. linux系統下如何讓C語言sleep()函數等待時間小於1秒
#include <unistd.h> // 頭文件
int usleep(useconds_t usec); // 函數原型
usec -- 毫秒。整數。最大允許值:小於 1000000
返回 0 -- 表示調用執行成功,1 -- 失敗。
7. 在樹莓派上,wiringPi的delay函數和Linux C的sleep函數有什麼區別
目測定時精度有差別