[英]Checking Process duration with C
我正在用C代碼檢查進程持續時間。 它適用於Windows 32位環境,但不適用於Linux 64位。
至少我的過程需要超過3分鍾,但它顯示0.062秒。 我的代碼如下。
#include <stdio.h>
#include <time.h>
#include <Windows.h>
int main(void)
{
clock_t start = clock();
//....... doing something. Sorry:D
printf("%.3f sec\n", (double)(clock() - start) / CLOCKS_PER_SEC);
return 0;
}
如何修復此代碼在64位Linux上工作呢? 謝謝。
功能clock(3)
不會產生經過的時間:
返回的值是到目前為止使用的CPU時間 。
作為最簡單的示例,如果您的進程為I / O休眠或阻塞,它將不會占用太多CPU時間。 如果需要測量實際持續時間,可以使用time(3)
和difftime(3)
或者clock_gettime
等。
旁注:我真的不明白為什么代碼似乎在Windows中工作,但更改為time
+ difftime
應該適用於兩個平台。
為什么不使用time命令來進行各種時間測量?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.