독립 C 프로그램에서 __gxx_personality_v0의 역할은 무엇입니까?
독립 실행형 C 프로그램을 컴파일하는 동안 지속적인 링커 오류가 발생합니다. libstdc 에 있는 __gxx_personality_v0 기호의 누락된 정의와 관련이 있을 수 있습니다. 간단한 정의로 문제를 해결할 수 있지만 그 목적을 이해하는 것이 중요합니다.
__gxx_personality_v0은 어셈블리 출력에서 알 수 있듯이 스택 해제 테이블의 필수 부분입니다. Itanium C ABI는 자신의 역할을 Personality Routine으로 명시적으로 정의합니다.
__gxx_personality_v0을 전역 NULL 무효 포인터로 선언하면 오류가 효과적으로 해결됩니다. 그러나 이는 예외가 발생하지 않기 때문에 발생합니다. 예외가 발생하면 동작이 명백해집니다.
이러한 문제를 방지하려면 -fno-Exceptions를 사용하여 예외를 비활성화하고 -fno-rtti를 사용하여 RTTI를 비활성화하는 것을 고려하세요. 또는 gcc 대신 g로 연결하면 -lstdc가 자동으로 추가되어 종속성을 해결합니다.
위 내용은 내 독립 C 프로그램에 `__gxx_personality_v0`이 누락된 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!