找到,因爲下面給出我的代碼的執行時間,我已經寫了Timer
類。C++:問題找到代碼執行時間
Timer::StartTimer();
DoOperation();
cout<<"Time elapsed: "<<Timer::GetTime();
我得到錯誤,說明startTime和endTime是未定義的。我無法完全解決問題。你能幫忙嗎?
文件文件:timer.h
#include <sys/time.h>
class Timer
{
static timeval startTime, endTime;
public:
static void StartTimer();
static long int GetTime();
};
文件:Timer.cc
#include "Timer.h"
void Timer::StartTimer()
{
gettimeofday(&startTime, NULL);
}
long int Timer::GetTime()
{
long int seconds, useconds, mtime;
gettimeofday(&endTime, NULL);
seconds = endTime.tv_sec - startTime.tv_sec;
useconds = endTime.tv_usec - startTime.tv_usec;
mtime = ((seconds) * 1000 + useconds/1000.0) + 0.5;
return(mtime);
}
你包括Timer.h在你的計劃?你鏈接到Timer的實現? – wich 2011-01-28 11:54:41
是的,我包括和鏈接。 – Nemo 2011-01-28 11:56:05