寫了一個linux下統計程序耗時的代碼,發現linux下和windows下還有些不同,寫篇博客記錄下。
(1) time.h和sys/time.h的區別
time.h是ISO C99標準日期頭文件,而sys/time.h是linux系統日期時間頭文件。
(2) linux下的sleep()參數是秒爲單位,而windows下是以毫秒爲單位。
(3) linux下的clock()返回微秒us,而windows下返回毫秒ms
(4) 使用clock(),linux和windows平臺下要注意了,clock()是計算cpu的時間。
linux下的一個統計程序耗時:
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int main(int argc,char** argv)
{
struct timevaltvpre,tvafter;
gettimeofday(&tvpre,NULL);
sleep(3);
gettimeofday(&tvafter,NULL);
printf("lasttime:%d ms\n",(int)((tvafter.tv_sec-tvpre.tv_sec)*1000+(tvafter.tv_usec- tvpre.tv_usec)/1000));
return 0;
}