2.1.10. --bss_threshold=num

이 옵션은 섹션 내에서 작은 전역 ZI 데이터 항목의 배치를 제어합니다. 작은 전역 ZI 데이터 항목은 초기화되지 않은 데이터 항목이며 8바이트 크기이거나 그보다 작습니다.

구문

--bss_threshold=num

인수 설명:

num

다음 중 하나입니다.

0

작은 전역 ZI 데이터 항목을 ZI 데이터 섹션에 배치합니다.

8

작은 전역 ZI 데이터 항목을 RW 데이터 섹션에 배치합니다.

기본값

--bss_threshold 옵션을 지정하지 않으면 컴파일러에서 --bss_threshold=8로 간주됩니다.

사용법

RVCT의 현재 버전에서 컴파일러는 최적화 작업의 일환으로 작은 전역 ZI 데이터 항목을 RW 데이터 섹션에 배치할 수 있습니다. 기본적으로 RVCT 2.0.1 및 이전 버전에서는 작은 전역 ZI 데이터 항목을 ZI 데이터 섹션에 배치하였습니다.

작은 전역 ZI 데이터 항목을 ZI 데이터 섹션에 배치하는 것과 관련된 RVCT 2.0.1 이전 버전의 동작을 에뮬레이션하려면 이 옵션을 사용합니다.

Note

--bss_threshold=0 옵션을 선택하면 컴파일러에서 현재 컴파일 모듈에 있는 모든 작은 전역 ZI 데이터 항목을 ZI 데이터 섹션에 배치합니다. 특정 변수 배치와 관련된 옵션은 다음과 같습니다.

  • ZI 데이터 섹션에 배치하려면 __attribute__((zero_init)) 사용

  • 특정 ZI 데이터 섹션에 배치하려면 __attribute((section))____attribute__((zero_init))의 조합 사용

예제

int glob1, glob2;  /* ZI (.bss) in RVCT 2.0.1 and earlier */
                   /* RW (.data) in RVCT 2.1 and later */

--bss_threshold=0을 사용하여 이 코드를 컴파일하면 glob1glob2가 ZI 데이터 섹션에 배치됩니다.

추가 참고

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential