整理一下在Linux上的時間計算方式,據原先常用的gettimeofday(tv,NULL);的方法 好像沒辦法精確的抓到毫秒,所以我再google了另一個方法...紀錄下來: #include<stdio.h> #include<time.h> #define BILLION 1000000000L; int main(void){ struct timespec start,end; clock_gettime(CLOCK_REALTIME,&start);//取得Start的時間 int ret; printf("In sleep ...\n"); usleep(150000); printf("out of sleep ... \n"); clock_gettime(CLOCK_REALTIME,&end);//取得End的時間 double time = ( end.tv_sec - start.tv_sec) + (double)(end.tv_nsec-start.tv_nsec)/(double)BILLION;//計算開始到結束花費的時間 printf("run time = %lf\n",time); //顯示出來的時間會是" 秒.微秒毫秒..." } 記得在Compiler後面加上-lrt,否則會在Link時出現找不到clock_gettime的錯誤訊息喔!