[リンク]

提供: RAD Studio
移動先: 案内検索

[Delphi コンパイラ] への移動


プロジェクト > オプション > ビルド > Delphi コンパイラ > リンク

このページを使用して、アプリケーションのリンク オプションを設定します。

注意: 下記のすべてのオプションがすべてのタイプのプロジェクトに使用できるわけではありません。
オプション 説明

[ターゲット]、[適用...]、[保存...]

[ターゲット]オプション」を参照。

共通項目

[<プロジェクト名> のプロジェクト オプション]ページの共通項目」を参照。


[リンク]オプション 説明 コンパイラ スイッチ 特に記載がなければすべてのプラットフォームをサポート

データ実行防止機能対応

実行可能イメージが Windows データ実行防止機能互換かどうかを示します。
デフォルト = True

‑‑nx-compat
‑‑nx-compat:off

  • 32 ビット Windows 
  • 64 ビット Windows 

[デバッグ情報]

オブジェクト コード アドレスをソース コードの行番号にマップする各手続きの行番号テーブルを生成します。Delphi コンパイラ指令 {$D+} および DCC32 の -V スイッチと同等です。

デフォルト値は[false]です。

‑$D+
‑$D‑

大きなアドレスの有効化

オブジェクトが、2 GB より大きいアドレスをサポートするかを示します。
デフォルト = False

‑‑large-address-aware
‑‑large-address-aware:off

  • 32 ビット Windows 

[EXE の説明]

EXE ファイルの説明を入力します。このフィールドには 255 文字までの文字列を入力できます。この文字列は $D にリンクされ、実行可能ファイルに埋め込まれます。これは、アプリケーションに著作権情報を挿入するのによく使用されます。著作権情報は、VersionInfo ファイルの一部に含めることもできます。このオプションは DLL およびアプリケーション実行可能ファイルにのみ適用でき、パッケージには適用できない点に注意してください。

‑‑description

[コンソール アプリケーションを生成]

コンソール モード アプリケーションであることを示すフラグをアプリケーションの実行形式ファイル内に設定します。

デフォルト値は[false]です。

‑CC

[イメージ ベース]

コンパイル済みイメージの優先ロード アドレスを指定します。この値は一般に、DLL のコンパイル時にのみ変更されます。

デフォルト値は[400000]です。

‑K

[リモート デバッグ シンボルを含める]

リモート デバッグまたはマルチデバイス デバッグを使用する場合は、このチェック ボックスをオンにします。 プロジェクトのリモート デバッグ シンボル ファイル.rsm)を生成します。

デフォルト値は[false]です。

‑VR

  • 32 ビット Windows 
  • 64 ビット Windows 
  • macOS 
  • iOS シミュレータ 

[マップ ファイル]

リンカは、セグメントのリスト、プログラム開始アドレス、リンク中に生成された警告またはエラー メッセージを含むセグメント一般の情報が入ったマップ ファイルを作成します。

デフォルト = オフ

  • [オフ]: マップ ファイルを作成しません。これがデフォルトの設定です。
  • [セグメント]: セグメントのリスト、プログラム開始アドレス、リンク時に生成された警告メッセージやエラー メッセージが記載されたマップ ファイルを生成します。
  • [パブリック]: セグメントのリスト、プログラム開始アドレス、リンク時に生成された警告メッセージやエラー メッセージ、アルファベット順にソートされたパブリック シンボルのリストが記載されたマップ ファイルを生成します。
  • [詳細]: セグメントのリスト、プログラム開始アドレス、リンク時に生成された警告メッセージやエラー メッセージ、アルファベット順にソートされたパブリック シンボルのリスト、補足的な詳細セグメント マップが記載されたマップ ファイルを生成します。 詳細セグメント マップには、セグメント アドレス、長さ(バイト単位)、セグメント名、グループ、モジュール情報が記載されています。 また、リソース 文字列ファイルを生成します。

‑GS
‑GP
‑GD

  • 32 ビット Windows 
  • 64 ビット Windows 
  • macOS 
  • iOS シミュレータ 

[マップ ファイル ARM]

リンカは、セグメントのリスト、プログラム開始アドレス、リンク中に生成された警告またはエラー メッセージを含むセグメント一般の情報が入ったマップ ファイルを作成します。

デフォルト = オフ

  • [オフ]: マップ ファイルを作成しません。これがデフォルトの設定です。
  • [オン]: マップ ファイルを作成します。
  • [マップ ファイルおよび .drc ファイル]: マップ ファイルと drc ファイルの両方を作成します。

‑G
‑GD

  • iOS デバイス(32 ビット と 64 ビット)

[最大スタック サイズ]

スタックの総予約サイズを指定します(実行可能ファイル プロジェクトにのみ適用、DLL の場合は無効)。メモリ サイズの設定は、$M コンパイラ指令を使ってソース コード内で指定することもできます。

デフォルト値は[1048576]です。

[サポートされている iOS の最小バージョン]

アプリケーションがサポートする iOS の最小バージョンです。 アプリケーションを AppStore に提出する際に、この値がフィルタ処理に使用されます。

デフォルト = 8.0

‑‑ios-version-min

  • iOS デバイス(32 ビット と 64 ビット)

[最小スタック サイズ]

起動時に必ず確保されるスタックのサイズを指定します(実行可能ファイル プロジェクトにのみ適用、DLL の場合は無効)。メモリ サイズの設定は、$M コンパイラ指令を使ってソース コード内で指定することもできます。

デフォルト値は[16384]です。

[LD リンカに渡されるオプション]

LD リンカ用の補助オプションです。

‑‑linker-option

  • iOS デバイス(32 ビット と 64 ビット)

[出力リソース文字列 .drc ファイル]

現在のプロジェクトのリソース文字列を含む .drc ファイルを作成します。 詳細は、「プロジェクトに言語を追加する」を参照。

‑‑drc

[デバッグ情報を別個の TDS ファイルに保存]

C++ 形式のデバッグ情報を個別の .tds ファイルに格納します。ファイル名はプロジェクトと同じ名前です。 この TDS デバッグ ファイルはコンパイル時に生成され、デバッガによって使用される情報を格納します。 デバッグ情報を PE ファイルに直接生成する場合は、[デバッグ情報] オプションを True に設定します。
C++ モジュールを読み込み中に、デバッガが .tds ファイルに付加されたタイムスタンプを検証します。.tds ファイルのタイムスタンプがモジュールのものより 5 秒以上前の場合、デバッガは .tds ファイルが古いと判断し、これ以上使用しません。また、IDE イベント ログが、そのモジュールで見つかるデバッグ情報はないと報告します。.tds ファイルが見つからない、というような問題を避けるには、以下のいずれかを行ってください。

  • 必ずすべてのビルド処理(IDE および コマンド ライン)とその構成が、[デバッグ情報を別個の TDS ファイルに保存する]オプションに関して一貫性を持つこと。
  • モジュールを再構築するときは、一致するモジュールの .tds ファイルを削除すること。

デフォルト値は[false]です。

‑VT ‑VN

  • 32 ビット Windows 

[再配置可能なイメージのベース アドレスを設定]

アプリケーション、DLL、またはパッケージのデフォルトのロード アドレスを制御します。引数には、次のような数値を指定してください。

  • イメージのベース アドレスを指定する 32 ビット整数。
  • $00010000 またはそれ以上、および引数の下位 16 ビットは無視されるため、ゼロになります。
  • 64K の倍数(つまり、16 進数の最後の 4 桁はゼロである必要があります)。そうでない場合は倍数に丸められ、コンパイラ メッセージが表示されます。

このオプションは、Delphi コンパイラ指令 {$IMAGEBASE} と同等です。

デフォルト値は[0]です。

‑K

[PE ヘッダーの追加フラグを設定]

アプリケーションの PE(Portable Executable)ヘッダーの追加フラグを指定します。
指定したフィールドを指定した値に設定します。このオプションは、Delphi コンパイラ指令 {$SETPEFLAGS xxx} と同等です。

デフォルト値は[0]です。

‑‑peflags

  • 32 ビット Windows 
  • 64 ビット Windows 

[PE ヘッダーの追加のオプション フラグを設定]

PE(Portable Executable)ファイルのオプション ヘッダーの追加ヘッダー フィールドを設定します。詳細は、WINNT.h ファイルで定義されている IMAGE_OPTIONAL_HEADER 構造を参照。

デフォルト値は[0]です。

‑‑peoptflags

  • 32 ビット Windows 
  • 64 ビット Windows 

[PE ヘッダーの OS Version フィールドに <major>.<minor> を設定]

イメージを実行するために必要なオペレーティング システムのバージョンを指定します。PE(Portable Executable)ファイルのオプション ヘッダーの MajorOperatingSystemVersion フィールドを <major> で指定した値に設定します。また、MinorOperatingSystemVersion フィールドを <minor> で指定した値に設定します。たとえば、このフィールドに 5.0 と入力することで、PE ファイルのオプション ヘッダーに OS バージョン Windows 2000 を指定します。このフィールドは IMAGE_OPTIONAL_HEADER の WINNT.h で定義されます。

このオプションは、{$SETPEOSVERSION} Delphi コンパイラ指令と同等です。

デフォルト値は[5.0]です。

‑‑peosversion

  • 32 ビット Windows 
  • 64 ビット Windows 

[PE ヘッダーの Subsystem Version フィールドに <major>.<minor> を設定]

PE(Portable Executable)ファイルに、イメージを実行するために必要な Windows サブシステムのバージョンを指定します。PE ファイルのオプション ヘッダーの MajorSubsystemVersion フィールドを <major> で指定した値に設定します。また、MinorSubsystemVersion フィールドを <minor> で指定した値に設定します。

このオプションは、{$SETPESUBSYSVERSION} Delphi コンパイラ指令と同等です。

デフォルト値は[5.0]です。
サブシステムの次の値が WINNT.h ファイルで定義されます。

  • IMAGE_SUBSYSTEM_UNKNOWN = 0: 不明なサブシステム
  • IMAGE_SUBSYSTEM_NATIVE = 1: デバイス ドライバおよびネイティブ Windows NT プロセスに使用します
  • IMAGE_SUBSYSTEM_WINDOWS_GUI = 2: イメージは Windows グラフィカル ユーザー インターフェイス(GUI)サブシステムで実行します
  • IMAGE_SUBSYSTEM_WINDOWS_CUI = 3: イメージは Windows 文字サブシステムで実行します
  • IMAGE_SUBSYSTEM_POSIX_CUI = 7: イメージは Posix 文字サブシステムで実行します

‑‑pesubsysversion

  • 32 ビット Windows 
  • 64 ビット Windows 

[PE ヘッダーの User Version フィールドに <major>.<minor> を設定]

アプリケーションのバージョン番号を指定します。PE(Portable Executable)ファイルのオプション ヘッダーの MajorVersion フィールドを <major> で指定した値に設定します。また、MinorVersion フィールドを <minor> で指定した値に設定します。たとえば、このフィールドに 8.11 と入力することで、PE ファイルのオプション ヘッダーにアプリケーション バージョン 8.11 を指定します。このフィールドは IMAGE_OPTIONAL_HEADER の WINNT.h で定義されます。

このオプションは、{$SETPEUSERVERSION} Delphi コンパイラ指令と同等です。

デフォルト値は[0]です。

‑‑peuserversion

  • 32 ビット Windows 
  • 64 ビット Windows 

アドレス空間レイアウトのランダム化のサポート (ASLR)

ASLR(アドレス空間レイアウトのランダム化)を使用して、読み込み時に DLL または実行可能イメージをランダムにリベースできるかどうかを指定します。
デフォルト = True

‑‑dynamic-base
‑‑dynamic-base:off

  • 32 ビット Windows 
  • 64 ビット Windows 

高エントロピー 64 ビット アドレス空間レイアウトのランダム化 (ASLR) のサポート

ASLR(アドレス空間レイアウトのランダム化)を使用して、読み込み時に DLL または実行可能イメージをランダムにリベースできるかどうかを指定します。
デフォルト = True

メモ: このフラグは、Win64 でのみ利用可能です。

‑‑high-entropy-va
‑‑high-entropy-va:off

  • 64 ビット Windows 

ターミナル サーバー

アプリがマルチユーザー環境で実行するように設計されていることを示します。
デフォルト = True

‑‑ts-aware
‑‑ts-aware:off

  • 32 ビット Windows 
  • 64 ビット Windows 

関連項目