2010-06-13 76 views
2

我需要一个函数或方法来在几秒钟内获得UNIX纪元,这很像我在PHP中使用时间函数的方式。C++:我如何获得unix时间?

我找不到任何方法,除了ctime中的time()似乎只输出格式化日期,或clock()函数有秒,但似乎总是100万的倍数,没有任何方法解析度。我想测量程序中的执行时间,我只是想计算开始和结束之间的差异;一个C++程序员如何做到这一点?编辑:time()和difftime只允许以秒为单位的分辨率,而不是ms或任何其他任何btw。

+1

你想要比秒精度更好的东西,但以秒为单位测量? – 2010-06-13 06:45:36

回答

2

如果要分析得到的,我推荐使用getrusage。这将允许你跟踪CPU时间,而不是挂钟时间:

struct rusage ru; 
getrusage(RUSAGE_SELF, &ru); 

ru.ru_utime.tv_sec; // seconds of user CPU time 
ru.ru_utime.tv_usec; // microseconds of user CPU time 
ru.ru_stime.tv_sec; // seconds of system CPU time 
ru.ru_stime.tv_usec; // microseconds of system CPU time 
相关问题