3.3.2. 공통 그룹 또는 섹션 제거

C++ 소스에서 사용되는 인라인 함수 또는 템플릿이 있으면 ARM 컴파일러는 각 개체가 개체에 필요한 인라인 함수 및 템플릿 함수의 라인 외부 복사본을 포함하도록 링크하기 위해 완전한 개체를 생성합니다. 이러한 함수가 공통 헤더 파일에서 선언되면 함수는 이후에 함께 링크되는 별도의 개체에서 여러 번 정의될 수 있습니다. 중복을 제거하기 위해 컴파일러는 이들 함수를 공통 코드 섹션 또는 그룹의 개별 인스턴스로 컴파일합니다.

공통 코드 섹션 또는 그룹의 개별 인스턴스가 동일하지 않을 수 있습니다. 예를 들어, 복사본 중 일부는 다른(그러나 호환되는) 빌드 옵션, 다른 최적화 또는 다른 디버그 옵션으로 빌드된 라이브러리에 있을 수 있습니다.

복사본이 동일하지 않으면 armlink가 입력 개체의 특성을 기준으로 각 공통 코드 섹션 또는 그룹의 최상의 사용 가능 변형을 유지합니다. armlink는 나머지는 폐기합니다.

복사본이 동일하면 armlink가 배치된 첫 번째 섹션 또는 그룹을 유지합니다.

이 최적화는 다음 링커 옵션으로 제어합니다.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0206GK
Non-Confidential