우분투 환경에서 c언어를 이용해 시그널을 다루려고 하는데 제가 알기로는 sigset_t 구조체가 signal.h에 포함되어 있는 것으로 아는데 정의되어 있지 않다고 나오네요. 근데 빨간 줄 있는채로 .out 파일 만들어서 실행하면 실행이 됩니다. 원인이 무엇인지 알 수 있을 까요
에디터가 좀 이상한 것 같네요. cpp 로 #include <signal.h> 확장 결과를 살펴보면 알 수 있어요
bash$ cpp <<< '#include <signal.h>' | grep -B 5 ' sigset_t;' unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 typedef __sigset_t sigset_t; bash$ cpp <<< '#include <signal.h>' | grep -B 5 ' __sigset_t;' typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t;
정의되어 있는 것이 맞아요
에디터가 좀 이상한 것 같네요.
cpp 로 #include <signal.h> 확장 결과를 살펴보면 알 수 있어요
bash$ cpp <<< '#include <signal.h>' | grep -B 5 ' sigset_t;' unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4 typedef __sigset_t sigset_t; bash$ cpp <<< '#include <signal.h>' | grep -B 5 ' __sigset_t;' typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t;