2.6. 정적 데이터 액세스 조정

이 단원에서는 정적 데이터를 액세스하기 위한 C 라이브러리의 콜아웃 사용에 대해 설명합니다. 정적 데이터를 사용하는 C 라이브러리 함수는 다음과 같이 범주화할 수 있습니다.

C 라이브러리는 암시적 정적 데이터가 필요한 작업을 수행할 경우 교체할 수 있는 함수에 대한 콜아웃을 사용합니다. 이러한 함수를 Table 2.6에서 보여 줍니다. 이들은 세미호스팅을 사용하지 않습니다.

Table 2.6. C 라이브러리 콜아웃 

함수설명
__rt_errno_addr()errno 변수의 주소를 얻기 위해 호출됩니다. 자세한 내용은 __rt_errno_addr()을 참조하십시오.
__rt_fp_status_addr()부동 소수점 상태어의 주소를 얻기 위해 부동 소수점 지원 코드에 의해 호출됩니다. 자세한 내용은 __rt_fp_status_addr()을 참조하십시오.
locale 함수__user_libspace() 함수는 라이브러리의 전용 정적 데이터 블록을 만듭니다. 어셈블러 매크로를 사용하여 로케일 및 CTYPE 조정재진입 및 스레드 안전성 코드 작성을 참조하십시오.

메모리 사용에 대한 자세한 내용은 런타임 메모리 모델 조정을 참조하십시오.

__user_libspace의 기본 구현은 ZI 세그먼트에 96바이트 블록을 만듭니다. 응용 프로그램에 main() 함수가 없어도 일반적으로 __user_libspace() 함수를 다시 정의할 필요는 없습니다. 그러나 운영 체제 또는 프로세스 스위처를 만드는 경우에는 이 함수를 다시 구현해야 합니다(재진입 및 스레드 안전성 코드 작성 참조).

Note

정확히 어떤 함수가 정의에서 정적 데이터를 사용하는지는 이후 릴리스에서 변경될 수 있습니다.

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