如何讓c語言sleep 函式等待時間小於1秒

時間 2021-10-17 04:41:56

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 計算指數 相關函式 ...