組み込みアセンブラからの C および C++ のコンパイル時の定数式へのアクセス

__cpp キーワードを使用すると、外部リンケージを使用するデータまたは関数のアドレスなど、C および C++ のコンパイル時の定数式にアセンブリコーからアクセスできます。__cpp 内の式には、C++ のスタティックな初期化で使用するのに適した定数式を指定する必要があります。『ISO/IEC 14882:2003』の「3.6.2 Initialization of non-local objects」および「5.19 Constant expressions」を参照して下さい。

Example 43 に、__cpp(expr) に置き換えることができる定数を示します。

Example 43.  __cpp(expr)

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

__cpp 式で使用されている名前は、__asm 関数の C++ コンテキストでルックアップされます。__cpp 式で得られる名前はすべて必要に応じて符号化され、その名前に生成された IMPORT ステートメントが自動的に割り当てられます。

Show/hide関連項目

概念
その他の情報
  • 『ISO/IEC 14882:2003』:

    • 「3.6.2 Initialization of non-local objects」のセクション

    • 「5.19 Constant expressions」のセクション

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711