3.6 C、C++、およびアセンブリ言語間の呼び出しに関する規則

C、C++、およびアセンブリ言語間の呼び出時に、いくつかの一般規則が適用されます。

  • C の呼び出し規則を使用します。

  • C ヘッダファイルを C++ からインクルードするには、extern "C" ディレクティブでラップする必要があります。

  • C++ では、非メンバ関数を extern "C" として宣言し、C リンケージを使用するように指定できます。ARM コンパイラツールチェーンの本リリースでは、C リンケージを使用すると、関数を定義するシンボルが符号化されません。C リンケージを使用すると、ある言語で関数を実装し、その関数を別の言語から呼び出すことができます。

    extern "C" として宣言される関数はオーバーロードできません。

  • アセンブリ言語モジュールは、アプリケーションで使用されているメモリモデルに適した AAPCS 標準に準拠する必要があります。

関連する概念
3.5 混合言語プログラミング
3.7 C およびアセンブリ言語からの C++ 関数の呼び出しに関する規則
関連情報
コンパイラ
非機密扱いPDF file icon PDF 版ARM DUI0471JJ
Copyright © 2010-2013 ARM.All rights reserved.