10.5.7 BPABI DLL 類似モデルでの C++ の初期化

ダイナミックリンクライブラリ(DLL)では、初期化を実行するイニシャライザ関数への参照を含むテーブルを使用した、静的コンストラクタの初期化をサポートしています。

そのテーブルは、 SHT_INIT_ARRAY という特殊なセクションタイプの ELF セクションに保存されます。これらの各イニシャライザには、初期化を実行する関数へのタイプ R_ARM_TARGET1 の再配置が含まれています。
ELF アプリケーションバイナリインタフェース(ABI)仕様では、R_ARM_TARGET1 を相対形式または絶対形式として記述しています。
ARM C ライブラリは相対形式を使用します。例えば、リンカでは、ARM C ライブラリの定義 __cpp_initialize__aeabi を検出した場合は、 R_ARM_TARGET1 の相対形式を使用し、そうでない場合は絶対形式を使用します。
関連する概念
10.5.1 BPABI 標準メモリモデル
10.5.4 BPABI DLL 類似モデルでの必須のシンボルバージョン管理
10.5.5 BPABI DLL 類似モデルにおけるダイナミックシンボルテーブルの自動規則
10.5.6 BPABI DLL 類似モデルのアドレシングモード
関連する参考文書
10.5.3 ベアメタルモデルと DLL 類似モデルのリンカコマンドラインオプション
関連情報
実行環境の初期化とアプリケーションの実行
C++ の初期化、構築、および破棄
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.