【发布时间】:2014-09-01 11:38:22
【问题描述】:
以下代码有时会得到负值。 我不明白。任何人都可以解释为什么会发生这种情况。
int64_t gettimelocal()
{
struct timeval Time;
if(-1 == gettimeofday(&Time,NULL))
{
perror("gettimeofday");
}
// get time in micro seconds
return ((Time.tv_sec * 1000000) + Time.tc_usec);
}
【问题讨论】:
-
请通过编辑更好地格式化您的问题。这是不可读的!使用以至少四个空格开头的行作为代码。
-
(Time.tv_sec * 1000000) -
如何显示? %d?尝试 %ld 或类似的东西。
-
抱歉,这是拼写错误。我只使用 Time.tv_usec。 perror("gettimeofday");不会显示任何错误。
-
我用"%"PRId64"显示,为什么一直没有溢出?
标签: linux gettimeofday