この単純なタイマーの例から取られた次のコード スニペットを実行しようとしています。
#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
を解決できませんでした
Webで調べてみましたが、具体的な回答はないようです。
私はライブラリsys/time.h
を調べてみましたtime.h
が、どのライブラリにもこの構造が定義されているようには見えませんが、とにかく使用されています。
ライブラリがありませんか?この例はかなり古いので、別の方法で実行する必要がある何か変更がありましたか? どんな光景でもありがたいです。
PS: Ubuntu 11.10 および g++ 4.6.1 で Eclipse CDT Indigo を使用しています。