Linux上glibc的man手冊關於timeval結構解釋的錯誤(轉)

Rounders發表於2007-08-13
Linux上glibc的man手冊關於timeval結構解釋的錯誤[@more@]問題如下:
在debian linux的man頁中對gettimeofday函式的說明中,有這樣一個說明:
DESCRIPTION
The functions gettimeofday and settimeofday can get and set the time as
well as a timezone. The tv argument is a timeval struct, as specified
in :

struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};

其中對tv_usec的說明為時間的毫秒部分。 而在實際中,該函式以及Linux核心返回的timeval
型別的時間值,tv_usec代表的是微秒精度(10的-6次方秒)。

測試程式碼如下:
#include
#include
#include

int gettimeofday(struct timeval *tv, struct timezone *tz);



int main(int argc,char * argv[]){

struct timeval tv;
while(1){
gettimeofday(&tv,NULL);
printf("time %u:%u ",tv.tv_sec,tv.tv_usec);
sleep(2);

}
return 0;

}


返回結果為:
evil@dcenter:~/tmp$ ./a.out
time 1142077839:903605
time 1142077841:910129
time 1142077843:920155
time 1142077845:930180
time 1142077847:940205
time 1142077849:950231
time 1142077851:960256
time 1142077853:970280
time 1142077855:980307
time 1142077857:990331

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9417382/viewspace-953370/,如需轉載,請註明出處,否則將追究法律責任。

相關文章