【发布时间】:2015-05-12 14:57:22
【问题描述】:
我有一个应用程序调用gettimeofday 来存储该部分代码开始运行的 tv_sec。这段代码很简单:
struct timeval tvnow;
gettimeofday(&tvnow);
int initialTime = tvnow.tv_sec;
它通常工作正常,但有时我会得到意想不到的结果,例如
tvnow = {tv_sec = 1024, tv_usec = 0}
initialTime = 1401591
或者
tvnow = {tv_sec = 1024, tv_usec = 0}
initialTime = 2439903
为什么会发生这种情况?
问候
【问题讨论】:
-
如果您将
int initialTime更改为time_t initialTime会发生什么?我的猜测是您使用的是 64 位计算机,并且它正在溢出 int。 -
发布您如何确定
initialTime的值为1401591。
标签: c gettimeofday