12.07.2015 Views

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

イ ン ラ イ ンアセン ブ ラ と 組 み 込 みアセン ブ ラの 使 用注イ ン ラ イ ン 関 数 と テンプレー ト 関 数 のア ウ ト オブ ラ イ ン コ ピーは、 使 用 さ れるエ リ アの 命 名 が 特 殊 であ るため、 定 義 された 順 序 ではな く 、 任 意 の 順 序 で配 置 さ れます。 したがって、 コード 実 行 は 必 ずしもインライン 関 数 またはテンプレート 関 数 から 別 の __asm 関 数 に 移 る と は 限 り ません。7.2.5 __cpp キーワー ド__cpp キーワー ド を 使 用 する と 、 外 部 リ ンケージを 使 用 するデータ ま たは 関 数のア ド レスなど、 C または C++ のコ ンパイル 時 の 定 数 式 にアセンブ リ コードからアクセスできます。 __cpp 内 の 式 には、 C++ のスタティ ッ クな 初 期 化 で 使用 する のに 適 し た 定 数 式 を 指 定 する 必 要 があ り ます。 ISO/IEC 14882:2003 の「3.6.2 Initialization of non-local objects」 および 「5.19 Constant expressions」 を 参照 して 下 さい。例 7-3 に、 __cpp(expr) に 置 き 換 え る こ と がで き る 定 数 を 示 し ます。例 7-3 __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 ステート メン トが 自 動 的 に 割 り 当 てられます。7-24 Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0205IJNon-Confidential, ID 100419

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!