我有一个使用 difftime 的小型 C 程序。真的很奇怪,10秒后它不会打印出该行。
但是,如果我取消注释睡眠行,那么它可以工作。
任何想法为什么会发生这种情况?
/* difftime example */
#include <stdio.h> /* printf */
#include <time.h> /* time_t, struct tm, difftime, time, mktime */
int main ()
{
time_t start, stop;
start = time(NULL);
for(; /* some condition that takes forever to meet */;) {
// do stuff that apparently takes forever.
stop = time(NULL);
double diff = difftime(stop, start);
//sleep (1);
if (diff >= 10) {
printf("10 seconds passed...");
start = time(NULL);
}
}
}
顺便说一句:代码编译得很好,我在 Raspberry Pi 上运行它。3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux