我需要在Linux(以及其他类Unix系统)上的C++中测量长计算所花费的CPU(而非挂钟)时间,所以我使用的是clock().问题:在32位系统上,大约2000或4000秒后会出现这种情况.
推荐的解决方法是什么?
您想使用getrusage
哪个填充以下结构:
struct rusage { struct timeval ru_utime; /* user time used */ struct timeval ru_stime; /* system time used */ ... };
完成后,struct timeval
:
struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* microseconds */ };
与往常一样,请参阅联机帮助页了解详细信息(man getrusage
)