[C++ リンカ|出力]
C++ リンカ への移動
プロジェクト > オプション... > C++ リンカ > 出力
このダイアログ ボックスでは、C++ リンカの出力オプションを設定します。
オプション | 説明 |
---|---|
[ターゲット]、[適用...]、[保存...] |
「[ターゲット]オプション」を参照。 |
共通項目 |
[C++ リンカ|出力]オプションはすべてのプラットフォームでサポート: このページの大抵のオプションはすべての C++ リンカで共有されるため、すべてのサポートされているターゲット プラットフォームでサポートされます。 ただし、次の 2 つは例外です。
- [イメージ フラグ](Windows プラットフォームでのみサポート)
- [セクション フラグ](Windows プラットフォームでのみサポート)
以下に示すリンカ スイッチは、ILINK32 と ILINK64 の両方で使用できます。
マップ ファイル オプション | 説明 |
---|---|
[ベース アドレス] |
実行可能ファイルまたは DLL のイメージ ベース アドレスを指定します。 アプリケーションまたは DLL 内の最初のオブジェクトのロード アドレスが、このオプションで指定した数値に設定されます。 これに続くすべてのオブジェクトは、64 KB の連続したアドレス境界に配置され、内部フィックスアップは無視されます。 ただし、指定されたアドレスを使ってモジュールをロードできない場合、オペレーティング システムはデフォルトの設定に戻し、内部フィックスアップを適用します。 再配置テーブルは保持します。 値は 0x200 バイトすなわち 512 バイト境界の 16 進数または 10 進数で指定します。 |
[ヒープ サイズ(最大)] |
予約ヒープ サイズを 16 進数または 10 進数で指定します。 最小許容値は 0 です。 このオプションで予約ヒープ サイズを指定すると、モジュール定義ファイルの HEAPSIZE 設定はすべて上書きされます。 デフォルト値 = 0x00100000 |
[ヒープ サイズ(最小)] |
コミットするヒープ サイズを 16 進数または 10 進数で指定します。 最小許容量は 0 で、指定する値はいずれも、[ヒープ サイズ(最大)]オプション以下でなければなりません。 このオプションでコミットするヒープ サイズを指定すると、モジュール定義ファイルの HEAPSIZE 設定はすべて上書きされます。 デフォルト値 = 0x00001000 32 ビット Windows プラットフォームおよび 64 ビット Windows プラットフォームでのみサポートされています。 |
[イメージのコメント文字列] |
イメージ(.exe、.dll、.bpl など)の PE ファイル ヘッダーにあるオブジェクト テーブルの直後に挿入するコメントを指定します。 これらのコメントは、TDump や類似のツールを使って、イメージから読み出すことができます。 |
[イメージ記述] |
指定された説明が PE イメージに保存されます。 |
[イメージ フラグ] |
イメージに対していくつかのフラグをセットできます。 サポートされているフラグは次のとおりです:
デフォルト値 = 指定なし 32 ビット Windows プラットフォームおよび 64 ビット Windows プラットフォームでのみサポートされています。 ポップアップ ボタンは、 「[プロジェクトのプロジェクト オプション]ページの共通項目」で説明されています。 |
[マップ ファイルの種類] |
[セグメントを含んだマップ ファイル] マップ ファイルにはセグメントのみを含めます。 セグメントのリストでは、1 セグメント 1 行で、セグメントの開始アドレス、セグメント長、セグメント名、およびセグメント クラスが示されます。 パブリック シンボルは 2 つのリストに分けられ、そのうちの 1 つはアルファベット順で、もう 1 つはアドレスの昇順でシンボルを表示します。 絶対アドレスを持つシンボルには、タグ Abs が付いています。 パブリック シンボルのリストは、デバッグのときに便利です。 デバッガの多くがパブリック シンボルを使用しているので、デバッグ時にシンボル アドレスを参照できるためです。
C(組み合わせ)
B(大きさ)
このオプションを使用すると、参照のないパブリック シンボルには、idle(未使用)フラグが付きます。 未使用シンボルとは、モジュール内でパブリックとして定義されているシンボルのうち、EXTDEF レコードから、またはリンクで取り込まれるその他のモジュールから参照されなかったもののことです。 たとえば、マップ ファイルのパブリック シンボル セクションから取り出した次の部分は、シンボル Symbol1 と Symbol3 がリンクされているイメージから参照されていないことを示しています。 0002:00000874 Idle Symbol1 0002:00000CE4 Symbol2 0002:000000E7 Idle Symbol3 [マップを生成しない](-x)デフォルト リンカ マップ ファイルの作成を行いません。 デフォルトでは、リンカはセグメントのリスト、プログラム開始アドレス、リンク中に発生した警告またはエラー メッセージなどの一般的なセグメント情報が入ったマップ ファイルを作成します。 この設定には、スイッチはありません。 [マップを生成しない]オプションを使用すると、このデフォルト マップ ファイルの作成を行いません。 |
[名前をマングルする] |
マップ ファイル内に完全名ではなく変形した C++ 識別子を出力します。 このオプションは、名前がどのように変形されているのかを把握するのに役立ちます(一部のユーティリティでは、変形名の入力が必要です)。 |
[OS バージョン] |
アプリケーションを実行する Windows のバージョン ID を指定します。 リンカは、.EXE のヘッダーのサブシステム バージョン フィールドに、この入力ボックスで指定した数字を設定します。 Windows のバージョン ID は、モジュール定義ファイル(.DEF ファイル)の SUBSYSTEM の部分にも設定できますが、.DEF ファイルの設定値は IDE またはコマンドラインで指定したバージョン ID によって上書きされます。 [OS バージョン]オプションを使用する場合、リンカは Windows のバージョン ID を指定した番号に設定します。 たとえば、 |
[セクション フラグ] |
[セクション フラグ]オプションを使用すると、名前付きイメージ セクションにフラグを追加できます。 このオプションは、指定のセクションの既存のフラグに対してフラグを追加します。 既定のフラグをセクションから削除することはできません。 使用できるフラグは次のとおりです。 |
[スタック サイズ(最大)] |
予約スタック サイズを 16 進数または 10 進数で指定します。 最小許容値は 4 K(0x1000)です。 |
[スタック サイズ(最小)] |
コミットするスタック サイズを 16 進数または 10 進数で指定します。 最小許容量は 4K(0x1000)で、指定する値はいずれも、[スタック サイズ(最大)]オプション以下でなければなりません。 |
[ユーザー バージョン] |
実行可能ファイルのバージョン ID を指定します。 リンカは、実行可能ファイルのヘッダーのユーザー バージョン フィールドを、指定した数字に設定します。 |