C++ に関する情報

以下の情報は、C++ のみに当てはまります。

Show/hideC++ の呼び出し規則

ARM C++ では、1 つの例外を除き、ARM C と同じ呼び出し規則が使用されます。

  • 非スタティックメンバ関数は、暗黙の this パラメータを最初の引数として、または呼び出される関数が int に類似していない struct を返す場合は 2 番目の引数として使用することで呼び出されます。この規則は今後の実装で変更される可能性があります。

Show/hideC++ データ型

ARM C++ では、以下の例外と追加点を除き、ARM C と同じデータ型が使用されます。

  • struct 型または class 型の C++ オブジェクトには、ベースクラスまたは仮想関数が含まれていない場合に ARM C で予測されるレイアウトと同じレイアウトが使用されます。このような struct 型のオブジェクトにユーザ定義のコピー代入演算子もユーザ定義のデストラクタも含まれていない場合、このオブジェクトは Plain Old Data 構造体して処理されます。

  • 参照はポインタとして表現されます。

  • C 関数へのポインタと C++ 非メンバ関数へのポインタは区別されません。

Show/hideシンボル名の符号化

リンカは、メッセージ内のシンボル名を符号化しません。

C で記述する名前は、C++ プログラムでは extern "C" として宣言する必要があります。この宣言は、既に ARM ISO C ヘッダで行われています。

Show/hide関連項目

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