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

Helenr
TA貢獻1780條經(jīng)驗 獲得超4個贊
#include <time.h>clock_t uptime = clock() / (CLOCKS_PER_SEC / 1000);

紅糖糍粑
TA貢獻1815條經(jīng)驗 獲得超6個贊
我總是使用clock_gettime()函數(shù),從CLOCK_MONOTONIC時鐘返回時間。返回的時間是從過去的一些未指定的點開始的時間量,以秒和納秒為單位,例如系統(tǒng)啟動時期。
#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 關(guān)注
- 496 瀏覽
添加回答
舉報
0/150
提交
取消