これが私のコードです:
#include <stdio.h>
#include <setjmp.h>
#include <signal.h>
jmp_buf buf;
void handler(int s);
int main(int argc, char **argv) {
signal(SIGINT, handler);
if (setjmp(buf)) {
printf("back again!\n");
return 0;
} else {
printf("first here.\n");
}
for (;;) {}
}
void handler(int s) {
longjmp(buf, 1);
}
Windows 8 64ビットのVS 2012でコンパイルします。Control+C を押すたびに、プログラムは期待どおりに再起動せず、動作を停止します。誰でも私を助けることができますか?