轉自:https://blog.csdn.net/u011857683/article/details/81320052
使用C語言在linux環境下獲得微秒級時間
1. 數據結構
int gettimeofday(struct timeval*tv, struct timezone *tz);
其參數tv是保存獲取時間結果的結構體,參數tz用於保存時區結果:
-
struct timezone{
-
int tz_minuteswest;/*格林威治時間往西方的時差*/
-
int tz_dsttime;/*DST 時間的修正方式*/
-
}
timezone 參數若不使用則傳入NULL即可。
而結構體timeval的定義為:
-
struct timeval{
-
long int tv_sec; // 秒數
-
long int tv_usec; // 微秒數
-
}
2. 代碼實例 temp.cpp
-
-
-
-
-
int main()
-
{
-
struct timeval start, end;
-
gettimeofday( &start, NULL );
-
printf( "start : %d.%d\n", start.tv_sec, start.tv_usec);
-
sleep( 1);
-
gettimeofday( &end, NULL );
-
printf( "end : %d.%d\n", end.tv_sec, end.tv_usec);
-
-
return 0;
-
}
3. 運行結果
-
$ ./temp
-
start : 1418118324.633128
-
end : 1418118325.634616
4. usleep函數
-
-
usleep(time); // 百萬分之一秒
本文轉自:
https://blog.csdn.net/zhubaohua_bupt/article/details/52873082