2015-02-14 3 views
0

Я решение Linux/POSIX вопросов, и я не могу понять, что случилось с моими заголовками/библиотекой и т.д.Неопределенная ссылки на siglongjump

Вот мой код:

#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. Зачем?

+2

При размещении вопроса об ошибках всегда указывайте ошибки, неотредактированные и завершенные. Кроме того, * описывайте *, что происходит, что вы ожидаете, и т. Д. Просто говоря: «это не работает, что не так», не дает нам достаточно, чтобы даже догадываться. –

ответ

2

Имя функции написано с ошибкой. Это не siglongjump, но siglongjmp :)

Смежные вопросы