4.2.5. __cpp 키워드

__cpp 키워드를 사용하여 어셈블리 코드에서 외부 링크가 있는 데이터 또는 함수의 주소를 비롯하여 C 또는 C++ 컴파일-시간 상수 식에 액세스할 수 있습니다. __cpp 내부의 식은 C++ 정적 초기화로 사용하기에 적합한 상수 식이어야 합니다(ISO/IEC 14882:1998의 3.6.2 Initialization of non-local objects5.19 Constant expressions 단원 참조).

__cpp(expr)를 사용하면 어셈블러에서 사용할 수 있는 상수로 대체됩니다. 예를 들면 다음과 같습니다.

LDR r0, =__cpp(&some_variable)
LDR r1, =__cpp(some_function)
BL  __cpp(some_function)
MOV r0, #__cpp(some_constant_expr)

__cpp 식의 이름이 C++ __asm 함수의 문맥에서 참조됩니다. __cpp 식의 결과로 나타나는 모든 이름은 필요에 따라 잘리고 이러한 이름에 대해 생성된 IMPORT 문이 자동으로 포함됩니다.

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