1
Solaris 플랫폼에 일부 기존 코드가 있으며이 코드를 Linux로 포팅하고 싶습니다. 그러나 Linux에서 일부 컴파일 오류가 발생합니다. Solaris에서 , 나는 다음과 같은 코드가있다 :Solaris와 Linux 사이의 sigaction 및 sigset_t 이식성
error: struct __sigset_t has no member named __sigbits
<< ", " << a.sa_mask.__sigbits[0]
:
#include <signal.h>
...
void f() {
struct sigaction a;
sigaction(sig,0,&a);
std::cout << (void *) a.sa_handler
<< ", " << (void *) a.sa_sigaction
<< ", " << a.sa_mask.__sigbits[0]
<< ", " << a.sa_mask.__sigbits[1]
<< ", " << a.sa_mask.__sigbits[2]
<< ", " << a.sa_mask.__sigbits[3]
<< ", " << (void *) a.sa_flags
<< std::endl;
}
내가 GCC 4.9.2을 사용하여 Linux에서 컴파일하려고, 내가받을 다음과 같은 컴파일 오류 (Solaris에서 확인 컴파일)
... __sigbits[1]
, __sigbits[2]
, __sigbits[3]
도 마찬가지입니다.
Linux에 해당하는 항목이 있습니까?
'__sigbits'회원님은 무엇을하려하십니까? 왜 출력하고 있니? 언더 스코어 접두사는 사용자가 발견 한대로 구현에 종속됨을 의미합니다. 당신이하고 싶은 * all *이 인쇄된다면, 간단히 리눅스에서 신경 쓰지 마라. –