用C检查进程持续时间

用C检查进程持续时间,c,clock,operation,time.h,C,Clock,Operation,Time.h,我正在用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 prin

我正在用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;
}
#包括
#包括
#包括
内部主(空)
{
时钟启动=时钟();
//……正在做某事。对不起:D
printf(“%.3f秒\n”,(双精度)(clock()-start)/CLOCKS\u/sec);
返回0;
}
如何修复此代码以在64位Linux中工作? 谢谢。

功能
时钟(3)
不会产生经过的时间:

返回的值是迄今为止用作时钟的CPU时间

最简单的例子是,如果进程因I/O而休眠或阻塞,则不会占用太多CPU时间。如果需要测量实际持续时间,可以使用
time(3)
difftime(3)
clock\u gettime



旁注:我真的不明白为什么代码在Windows中可以工作,但是更改为
时间
+
difftime
应该可以在两种平台上工作。

为什么不使用获取各种时间测量值?

这在Windows下也不应该工作。