如何使用ANSI C測量時間(以毫秒為單位)?僅使用ANSI C,有沒有辦法以毫秒或更多精度測量時間?我正在瀏覽time.h但我只發現了第二個精確功能。
3 回答

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
我總是使用clock_gettime()函數,從CLOCK_MONOTONIC時鐘返回時間。返回的時間是從過去的一些未指定的點開始的時間量,以秒和納秒為單位,例如系統啟動時期。
#include <stdio.h>#include <stdint.h>#include <time.h>int64_t timespecDiff(struct timespec *timeA_p, struct timespec *timeB_p){ return ((timeA_p->tv_sec * 1000000000) + timeA_p->tv_nsec) - ((timeB_p->tv_sec * 1000000000) + timeB_p->tv_nsec);}int main(int argc, char **argv){ struct timespec start, end; clock_gettime(CLOCK_MONOTONIC, &start); // Some code I am interested in measuring clock_gettime(CLOCK_MONOTONIC, &end); uint64_t timeElapsed = timespecDiff(&end, &start);}
- 3 回答
- 0 關注
- 498 瀏覽
添加回答
舉報
0/150
提交
取消