1樓:匿名使用者
sleep()函式大概只能精確到50ms左右,你用sleep(10)是肯定不行的,如果你要精確的定時的話可以使用queryperformancefrequency()函式,用法為:
large_integer litmp;
longlong qpart1,qpart2;
double dfminus, dffreq, dftim;
dffreq = (double)litmp.quadpart;// 獲得計數器的時脈頻率
qpart1 = litmp.quadpart;// 獲得初始值dowhile(dftim<0.001);
其定時誤差不超過1微秒,精度與cpu等機器配置有關。
×××××××××××××××××××××××××sleep()函式的中等待時間是以毫秒計算的,所以等待1秒就是sleep(1000),如果要讓等待時間小於一秒,那麼就讓傳入的引數小於1000就行了.
比如,等待0.1秒:
sleep(100);
2樓:匿名使用者
如果對時間要求非常精確,可以考慮採用和彙編中處理的情況,看看cpu的頻率,將for命令分解成組合語言,看多少毫秒執行一次命令,然後設定迴圈次數,這樣足夠精確,實際上在彙編下也是這麼做的。
3樓:
用delay會使程序獨佔cpu,一般最好不要用,可以用usleep(),單位微妙 休眠10毫秒就是usleep(1000*10)
4樓:
tc中sleep()函式原型為: unsigned sleep(unsigned seconds); 引數單位為秒
delay()函式原型為: unsigned sleep(unsigned seconds); 引數單位為毫秒
函式sleep()確實會暫停x秒,但delay()多數情況下不精確,可以不斷修正設定的數值,來達到控制時間的目的。
5樓:韌勁
#include // 標頭檔案
int usleep(useconds_t usec); // 函式原型
usec -- 毫秒。整數。最大允許值:小於 1000000返回 0 -- 表示呼叫執行成功,1 -- 失敗。
6樓:
sleep(100)
裡面的是以毫秒為單位的。100就是0.1秒
7樓:我欲弒神
你可以換用 delay();
這裡 使以微妙為單位的
c語言sleep函式怎麼用
8樓:小落影
使用要帶上標頭檔案:
#include
sleep函式:
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:1.在vc中使用帶上標頭檔案#include ,在linux下,gcc編譯器中,使用的標頭檔案因gcc版本的不同而不同#include
2.在vc中,sleep中的第一個英文字元為大寫的"s" ,在linux下不要大寫,在標準c中是sleep, 不要大寫,簡單的說vc用sleep, 別的一律使用sleep。
3.在vc中,sleep()裡面的單位,是以毫秒為單位,所以如果想讓函式滯留1秒的話,應該是sleep(1000); 在linux下,sleep()裡面的單位是秒,而不是毫秒。
示例:#include
#include
int main()
usleep函式:
功能: usleep功能把程序掛起一段時間, 單位是微秒us(百萬分之一秒)。
語法: void usleep(int micro_seconds);
返回值: 無
注意:這個函式不能工作在 windows 作業系統中。
usleep() 與sleep()類似,用於延遲掛起程序。程序被掛起放到reday queue。只是一般情況下,延遲時間數量級是秒的時候,儘可能使用sleep()函式。
且此函式已被廢除,可使用nanosleep。
如果延遲時間為幾十毫秒,或者更小,儘可能使用usleep()函式。這樣才能最佳的利用cpu時間。
delay函式:
功 能: 將程式的執行暫停一段時間,單位是毫秒ms(千分之一秒)
用 法: void delay(unsigned milliseconds);
示例:#include
int main(void)
delay()是迴圈等待,該程序還在執行,佔用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的程序。
9樓:周啟萌
c語言標準庫中沒有sleep這個函式,它實際上是一個系統api函式。
函式功能: 執行掛起一段時間
1、在vc中使用帶上標頭檔案,而且全稱為sleep(),第一個字母需要大寫。
#include //需要新增標頭檔案
sleep(unisgned long); //函式宣告windows中,sleep()裡面的單位,是以毫秒為單位,所以如果想讓函式滯留1秒的話,應該寫成:
sleep(1000);
2、在gcc中,使用的標頭檔案因gcc版本的不同而不同,一般來說,linux系統需要新增的標頭檔案為:
#include
應該是sleep(1000);
在linux下,sleep()裡面的單位是秒,而不是毫秒。
c語言sleep函式怎麼用
小落影 使用要帶上標頭檔案 include sleep函式 功 能 執行掛起一段時間 用 法 unsigned sleep unsigned seconds 注意 1.在vc中使用帶上標頭檔案 include 在linux下,gcc編譯器中,使用的標頭檔案因gcc版本的不同而不同 include 2...
c語言中的sleep函式,C語言中的sleep 函式
小落影 使用要帶上標頭檔案 include sleep函式 功 能 執行掛起一段時間 用 法 unsigned sleep unsigned seconds 注意 1.在vc中使用帶上標頭檔案 include 在linux下,gcc編譯器中,使用的標頭檔案因gcc版本的不同而不同 include 2...
c語言數學函式,C語言數學函式
萇賓 abs 計算整型數的絕對值 相關函式 labs,fabs 表標頭檔案 include 定義函式 int abs int j 函式說明 abs 用來計算引數j的絕對值,然後將結果返回。返回值 返回引數j的絕對值結果。範例 ingclude main 執行 12 12 exp 計算指數 相關函式 ...