gpt4 book ai didi

c - 如何以毫秒为单位获取 C 中耗时? ( window )

转载 作者:太空狗 更新时间:2023-10-29 16:57:30 26 4
gpt4 key购买 nike

我在网上搜索过,但我只找到了一种方法,但这样它会在几秒而不是几毫秒内返回。

我的代码是:

#include <stdio.h>
#include <assert.h>
#include <time.h>

int main(void)
{
int solucion;

time_t start, stop;
clock_t ticks;
long count;

time(&start);
solucion = divisores_it(92000000, 2);
time(&stop);

printf("Finnished in %f seconds. \n", difftime(stop, start));
return 0;
}

最佳答案

跨平台的方法是使用 ftime。

此处为 Windows 特定链接:http://msdn.microsoft.com/en-us/library/aa297926(v=vs.60).aspx

示例如下。

#include <stdio.h>
#include <sys\timeb.h>

int main()
{
struct timeb start, end;
int diff;
int i = 0;
ftime(&start);

while(i++ < 999) {
/* do something which takes some time */
printf(".");
}

ftime(&end);
diff = (int) (1000.0 * (end.time - start.time)
+ (end.millitm - start.millitm));

printf("\nOperation took %u milliseconds\n", diff);
return 0;
}

我运行上面的代码并使用 VS2008 对其进行跟踪,发现它实际上调用了 windows 的 GetSystemTimeAsFileTime 函数。

无论如何,ftime 会给你毫秒级的精度。

关于c - 如何以毫秒为单位获取 C 中耗时? ( window ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17250932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com