2014-02-13 68 views
0

我正在創建一個項目,我要創建fork()和pthread_create()。我們應該花費多長時間來完成這些任務中的每個任務,方法是使用系統調用來創建個性化定時器類。爲了獲得幫助,教授告訴我們檢查人的時間。如何在C++中計算進程?

我是新來的使用系統調用和使用手冊頁的文檔,所以我完全失去了。到目前爲止,我試圖獲取工作的代碼是這樣的:

#include "Timer.h" 
#include <iostream> 
#include <signal.h> 
#include <ctime> 
#include <time.h> 
using namespace std; 
Timer::Timer() { 
    timer_t * tid; 
    timer_create(CLOCK_REALTIME, NULL, tid); 
    int time = timer_gettime(tid, 0); 
    cout<<time; 
} 

編譯時,日食扔我這些錯誤:

undefined reference to 'timer_create', line 20 
undefined reference to 'timer_gettime', line 21 

互聯網已經指出我包括-lrt方向圖書館編譯時,但我找不到任何說如何做到這一點,暗示可能是完全錯誤的。

那麼,我在正確的道路上?如果我是,我該如何得到這個代碼工作?

編輯:

我得到了基於時鐘()的計時器工作。缺點是我們的定時fork(),它沒有註冊,因此在計時時不需要任何時間。有任何想法嗎?

回答

2

您可以使用此

time_t start,end; 
start=clock();//predefined function in c 

//after the user defined function does its work 

end=clock(); 
t=(end-start)/CLOCKS_PER_SEC;