간략한 요약 : gcc 4.1, aCC, VisualAge 및 MSVC에서 여러 플랫폼에서 잘 작동하는 기존 코드가 많이 있습니다. HP-UX에서 현재이 문제를 해결하기 위해 노력 중입니다.GCC 4.1/HP-UX 11.23의 정적/전역 생성자
출력은 여러 (8-10) 공유 라이브러리로 구성됩니다.
모든 것이 잘 컴파일되지만 테스트 응용 프로그램을 실행하려고하면 일부 전역 생성자에서 즉시 분리됩니다. 실제로 gdb는이 실제 전역 객체가있는 위치에 대한 정보를 얻을 수 없습니다. si_code는 SEGV_ACCERR입니다. - 개체에 대한 권한이 올바르지 않습니다. 'this'포인터는 항상 0입니다.
Null 인 개체의 초기화는 어떻게 초기화됩니까? 이것은 gcc의 전역 초기화 개념과 HP의 개념 (HP의 ld 사용) 사이의 충돌입니까?
어디에서 진단 하시겠습니까? 슬프게도이 문제를 문제를 재현하는 테스트 사례로 축소 할 수 없습니다.
업데이트 비트 : 변덕스럽게도 실패한 ctor에 printf를 추가했습니다 (이전에는 비어 있음). 다음에 샘플 앱을 사용해 보았을 때, 다른 글로벌 생성자에서 충돌이 발생했습니다 ... 그래서 반복되었고 똑같은 일이 발생했습니다. 빈 생성자를 최적화하는 것이 가능합니까? 논리적으로 보이지는 않지만 * HP-UX – phrakture