2012-06-20 169 views
0

我剛剛學習如何使用clock_getres(網上任何地方几乎沒有好的文檔)。我的代碼如下所示:timespec.tv_sec總是返回0

timespec now; 
clock_getres(CLOCK_REALTIME,&now); 
std::cout<<statut_cast<int>(now.tv_sec)<<","<<static_cast<int>(now.tv_nsec)<<std::endl; 

無論何時我運行此代碼,輸出始終是0,1 任何人都可以解釋爲什麼這不工作?

+0

這是正確的行爲。你想做什麼? –

+2

statut_cast - 從來沒有見過以前你確定這是真實的代碼。 – mathematician1975

+0

也許在你的系統上OS決定告訴你時鐘分辨率是1ns? –

回答

2

這是正確的行爲 - 輸出爲0,1,因爲您試圖獲得分辨率的時鐘具有納秒分辨率。因此,now.tv_nsec=1now.tv_sec=0。如果它沒有納秒分辨率,輸出將是0,0