> 백엔드 개발 > C++ > 내 독립 C 프로그램에 `__gxx_personality_v0`이 누락된 이유는 무엇이며 어떻게 해결할 수 있습니까?

내 독립 C 프로그램에 `__gxx_personality_v0`이 누락된 이유는 무엇이며 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-11-18 04:30:02
원래의
372명이 탐색했습니다.

Why is `__gxx_personality_v0` Missing in My Free-Standing C   Program, and How Can I Fix It?

독립 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿