#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
void timer(int seconds) {
struct timeval timeout;
timeout.tv_sec = seconds;
timeout.tv_usec = 0;
while (1) {
printf("定时器触发
");
select(0, NULL, NULL, NULL, &timeout);
}
}
int main() {
timer(5);
return 0;
}
这段代码是一个C语言程序,它实现了一个简单的定时器功能。当调用timer函数时,它会创建一个定时器,每隔指定的秒数(seconds参数)触发一次,并打印出"定时器触发"的提示信息。
在main函数中,timer函数被调用并传入了5作为参数,表示每隔5秒触发一次定时器。程序会一直运行,直到手动停止。
请注意,这段代码使用了select函数来实现定时器功能。select函数用于等待文件描述符准备好进行I/O操作,这里将timeout结构体传递给select函数,使得程序在指定的时间间隔内阻塞,直到定时器触发。