我有一些使用clock_gettime()函數的問題。C++ time.h,clock_gettime(),語義錯誤,如何鏈接Eclipse中的實時庫?
#include <iostream>
#include <time.h>
timespec timer_start;
timespec timer_end;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &timer_start);
// sleep for 5 seconds
boost::this_thread::sleep(boost::posix_time::milliseconds(5000));
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &timer_end);
std::cout << (timer_end.tv_sec - timer_start.tv_sec) << ":" << (timer_end.tv_nsec - timer_start.tv_nsec) << std::endl;
我得到的輸出是這樣的
0:6934599
看來,計時器只經過693個毫秒左右。
我在Linux gnu gcc 4.6上用g ++ -lrt編譯程序。我也收到語義錯誤,說 符號'CLOCK_PROCESS_CPUTIME_ID'無法解析
謝謝。
如果你有一個編譯器錯誤,怎麼是你能夠運行該程序? – 2012-03-04 11:57:23
我也覺得它很有趣,也許是因爲我只會得到一個語義錯誤。 – 2607 2012-03-04 12:01:14
如果你的編譯器可以告訴你**語義**錯誤,那麼它比我見過的任何編譯器都更聰明。 – James 2012-03-04 12:01:48