【发布时间】:2013-12-29 02:19:14
【问题描述】:
假设我们想知道函数A运行了多长时间,我们可以这样写代码
struct timeval tpstart,tpend;
gettimeofday(&tpstart,NULL);
A();
gettimeofday(&tpend,NULL);
float timeuse= tpend.tv_sec-tpstart.tv_sec + (tpend.tv_usec-tpstart.tv_usec) / 1000000;
printf("Used Time:%f\n",timeuse);
但是我怎样才能将它封装成一个宏,比如 Runtime(A),也许,Runtime(A, B, ...),有时几个函数一起运行。
【问题讨论】:
-
gettimeofday不是标准 C 并且也被 POSIX 声明为已过时,请考虑使用来自 POSIX 的clock_gettime或来自 C11 的timespec_get。 -
好吧,这是我google导出的一段代码,之前没用过