我有一个程序,它打印两个不同实例之间的时间差,但它打印的精度为秒。我想以毫秒为单位打印,另一个用纳秒差打印。
//Prints in accuracy of seconds
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t now, later;
double seconds;
time(&now);
sleep(2);
time(&later);
seconds = difftime(later, now);
printf("%.f seconds difference", seconds);
}我怎样才能做到这一点?
发布于 2021-10-05 06:51:47
下面是一个处理它的简单宏
#include <time.h>
#define CHECK_TIME(x) {\
struct timespec start,end;\
clock_gettime(CLOCK_REALTIME, &start);\
x;\
clock_gettime(CLOCK_REALTIME, &end);\
double f = ((double)end.tv_sec*1e9 + end.tv_nsec) - ((double)start.tv_sec*1e9 + start.tv_nsec); \
printf("time %f ms\n",f/1000000); \
}下面是如何使用它:
CHECK_TIME(foo(a,b,c))https://stackoverflow.com/questions/16275444
复制相似问题