2016-12-04 14 views
0

如何在預定的時間段後使用<time.h>開始和結束模擬?C中的定時器模擬?

例如:

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

int main() 
{ 
    int s; 
    time_t t; 

    srand((unsigned) time(&t)); 
    s=(rand()%4)+1; 
    printf("%d" s); 

    return 0; 
} 

的變量s隨機生成後,我要開始模擬s秒後,將結束。模擬的數量被處理(對於每個,生成s),並且用戶終止程序。

+0

你模擬什麼?你的模擬實際上會做什麼?顯示一些圖形?計算一個物理狀態(例如行星的位置)? –

+0

你的問題很混亂。您應該**編輯您的問題**以更多地解釋您的模擬。 –

+1

可能有點粗糙,但你*可以*只是做'警報;'並等待...... ;-) – alk

回答

3

請先閱讀time(7)仔細(並按照所有參考文獻!)。您可能想要在某些多路複用呼叫周圍有一些event loop,如poll(2)。你也應該閱讀Advanced Linux Programming以獲得更廣闊的視野。

你可能應該在模擬時間和實時實時(和CPU時間)之間做出很大的區別。

當然<time.h>只與獲得時間(並顯示它)有關。您可能需要更多(並且它是特定於操作系統;我想您正在使用Linux)。

你可以組織你的模擬很多小步驟(在某些事件循環中)。