我正在尝试运行取自这个简单的计时器示例的以下代码片段:
#include <sys/time.h>
#include <stdio.h>
int SetTimer(struct timeval &tv, time_t sec) {
gettimeofday(&tv, NULL);
tv.tv_sec += sec;
return 1;
}
int CheckTimer(struct timeval &tv, time_t sec) {
struct timeval ctv;
gettimeofday(&ctv, NULL);
if ((ctv.tv_sec > tv.tv_sec)) {
gettimeofday(&tv, NULL);
tv.tv_sec += sec;
return 1;
} else {
return 0;
}
}
int main() {
struct timeval tv;
SetTimer(tv, 5); //set up a delay timer
printf("start counting.\n");
while (1)
if (CheckTimer(tv, 5) == 1)
printf("Welcome to cc.byexamples.com\n");
return 0;
}
我收到以下错误:tv_sec
无法解析字段
我在网上搜索过,但似乎没有人给出具体答案。
我尝试了查看这些库的机会sys/time.h
,time.h
但在它们中似乎都没有定义这种结构,但无论如何都被使用了。
我错过了任何图书馆吗?由于这个例子相当陈旧,是否有一些改变需要以不同的方式完成?我会欣赏任何景象。
PS:我在 Ubuntu 11.10 和 g++ 4.6.1 下使用 Eclipse CDT Indigo。