我正在尝试理解中断,并且正在寻找使用中断的简单代码。有人可以帮帮我吗?
答案 0 :(得分:2)
以下是使用闹钟功能的两个示例。报警导致SIGALRM在您调用该函数后n秒发生。
此程序将运行3秒钟,然后使用SIGALRM终止。
#include <signal.h>
#include <unistd.h>
int main() {
alarm(3);
while(true);
}
在这种情况下,我们想要捕获SIGALRM,然后优雅地消息:
#include <signal.h>
#include <unistd.h>
#include <iostream>
volatile bool alarmed = false;
void alrm_handler(int) {
alarmed = true;
}
int main() {
signal(SIGALRM, alrm_handler);
alarm(3);
while(not alarmed);
std::cout << "done" << std::endl;
}