我正在解决Linux / POSIX问题,我无法弄清楚我的标题/库等有什么问题。
这是我的代码:
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <setjmp.h>
jmp_buf buf;
void handler(int sig){ siglongjump(buf, 1); }
int main(){
signal(SIGUSR1, handler);
if(sigsetjmp(buf,1)==0)
printf("A");
if(fork() == 0){ // child process
kill(getpid(), SIGUSR1); exit(0);}
我包括:<stdio.h>
,<signal.h>
,<stdlib.h>
和<setjmp.h>
;我也在使用-lc
选项进行编译。
但是我得到了siglongjump
的未定义引用。为什么呢?