__attribute__ GCC 의attribute__ ((constructor) 와attribute__ ((destructor)) 소스 코드 를 다운로드 한 후 main 함수 에서 코드 를 분석 하기 시 작 했 습 니 다.나 는 main 함수 에서 몇 개의 전체적인 데이터 구 조 를 사용 하 는 것 을 보 았 으 나 main 함수 가 그들 에 게 초기 화 를 하지 않 고 직접 사용 하 는 것 은 나 에 게 있어 서 상당히 기괴 하 다.나 는 코드 에서 이 몇 개의 전역 구조의 초기 화 함 수 를 검색 하 였 으 나, 아... __attribute__attribute__destruconstruc GCC 확장attribute__ ((visibility("hidden"))) 이러한 상황을 생각해 보면 프로그램은 어떤 함수 A를 호출하고 A 함수는 두 개의 동적 링크 라이브러리liba.에 존재한다.so,libb.so에서, 그리고 프로그램 실행은 이 두 라이브러리를 연결해야 한다. 이때 프로그램이 호출하는 A 함수는 도대체 a에서 온 것입니까, 아니면 b에서 온 것입니까? 이것은 링크할 때의 순서에 달려 있다. 예를 들어 먼저 링크liba.so, 이때liba를 통해... gcc직장확장성레저__attribute__
GCC 의attribute__ ((constructor) 와attribute__ ((destructor)) 소스 코드 를 다운로드 한 후 main 함수 에서 코드 를 분석 하기 시 작 했 습 니 다.나 는 main 함수 에서 몇 개의 전체적인 데이터 구 조 를 사용 하 는 것 을 보 았 으 나 main 함수 가 그들 에 게 초기 화 를 하지 않 고 직접 사용 하 는 것 은 나 에 게 있어 서 상당히 기괴 하 다.나 는 코드 에서 이 몇 개의 전역 구조의 초기 화 함 수 를 검색 하 였 으 나, 아... __attribute__attribute__destruconstruc GCC 확장attribute__ ((visibility("hidden"))) 이러한 상황을 생각해 보면 프로그램은 어떤 함수 A를 호출하고 A 함수는 두 개의 동적 링크 라이브러리liba.에 존재한다.so,libb.so에서, 그리고 프로그램 실행은 이 두 라이브러리를 연결해야 한다. 이때 프로그램이 호출하는 A 함수는 도대체 a에서 온 것입니까, 아니면 b에서 온 것입니까? 이것은 링크할 때의 순서에 달려 있다. 예를 들어 먼저 링크liba.so, 이때liba를 통해... gcc직장확장성레저__attribute__