簡體   English   中英

用C檢查過程持續時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM