リンカー オプション
LINK.exeは、共通オブジェクト ファイル形式 (COFF) オブジェクト ファイルとライブラリをリンクして、実行可能ファイル (EXE) ファイルまたはダイナミック リンク ライブラリ (DLL) を作成します。
LINK.exe のオプションの一覧を次の表に示します。 LINK の詳細については、下記を参照してください。
コマンド ラインでは、リンカー オプションの大文字と小文字は区別されません。たとえば、/base
と /BASE
は、同じ指定を意味します。 コマンド ラインまたは Visual Studio で各オプションを指定する方法の詳細については、そのオプションのドキュメントを参照してください。
comment
プラグマを使用して、いくつかのリンカー オプションを指定できます。
アルファベット順のリンカー オプション
オプション | 目的 |
---|---|
@ |
応答ファイルを指定します。 |
/ALIGN |
各セクションのアラインメントを指定します。 |
/ALLOWBIND |
DLL をバインドできないことを指定します。 |
/ALLOWISOLATION |
マニフェスト検索の動作を指定します。 |
/APPCONTAINER |
アプリケーションが appcontainer プロセス環境内で実行される必要があるかどうかを指定します。 |
/ARM64XFUNCTIONPADMINX64 |
ARM64X images. の x64 関数間のパディングの最小バイト数を指定します。17.8 |
/ASSEMBLYDEBUG |
DebuggableAttribute をマネージド イメージに追加します。 |
/ASSEMBLYLINKRESOURCE |
マネージド リソースへのリンクを作成します。 |
/ASSEMBLYMODULE |
MSIL (Microsoft Intermediate Language) モジュールをアセンブリにインポートする必要があることを指定します。 |
/ASSEMBLYRESOURCE |
マネージド リソース ファイルをアセンブリに埋め込みます。 |
/BASE |
プログラムのベース アドレスを設定します。 |
/CETCOMPAT |
バイナリを CET シャドウ スタック互換としてマークします。 |
/CGTHREADS |
リンク時のコード生成を指定するときに、最適化およびコード生成に使用する cl.exe スレッド数を設定します。 |
/CLRIMAGETYPE |
CLR イメージの種類 (IJW、純粋、または安全) を設定します。 |
/CLRSUPPORTLASTERROR |
P/Invoke 機構を通じて呼び出された関数の最終エラー コードを保持します。 |
/CLRTHREADATTRIBUTE |
CLR プログラムのエントリ ポイントに適用するスレッド処理属性を指定します。 |
/CLRUNMANAGEDCODECHECK |
リンカーが、マネージド コードからネイティブ DLL に呼び出すリンカーによって生成された P/Invoke スタブに SuppressUnmanagedCodeSecurity 属性を適用するかどうかを指定します。 |
/DEBUG |
デバッグ情報を作成します。 |
/DEBUGTYPE |
デバッグ情報に含めるデータを指定します。 |
/DEF |
モジュール定義 (.def) ファイルをリンカーに渡します。 |
/DEFAULTLIB |
外部参照を解決するときに、指定したライブラリを検索します。 |
/DELAY |
DLL の遅延読み込みを制御します。 |
/DELAYLOAD |
指定した DLL に遅延読み込みを発生させます。 |
/DELAYSIGN |
アセンブリに部分署名します。 |
/DEPENDENTLOADFLAG |
依存 DLL の読み込みに既定のフラグを設定します。 |
/DLL |
DLL をビルドします。 |
/DRIVER |
カーネル モード ドライバーを作成します。 |
/DYNAMICBASE |
Address Space Layout Randomization (ASLR) 機能を使用して読み込み時にリベースされる実行可能イメージを生成するかどうかを指定します。 |
/ENTRY |
開始アドレスを設定します。 |
/ERRORREPORT |
削除されました。 エラー報告は Windows エラー報告 (WER) の設定によって制御されます。 |
/EXPORT |
関数をエクスポートします。 |
/FILEALIGN |
指定された値の倍数で出力ファイル内のセクションを配置します。 |
/FIXED |
指定のベース アドレスだけに読み込まれるプログラムを作成します。 |
/FORCE |
未解決のシンボルまたは複数定義のシンボルがある場合でも、リンクを強制的に終了します。 |
/FUNCTIONPADMIN |
ホット パッチ可能なイメージを作成します。 |
/GENPROFILE , /FASTGENPROFILE |
これらのオプションは、ガイド付き最適化のプロファイル (PGO) をサポートするために、どちらもリンカーによる .pgd ファイルの生成を指定します。 /GENPROFILE と /FASTGENPROFILE は、それぞれに異なる既定のパラメーターを使用します。 |
/GUARD |
制御フロー ガードによる保護を有効にします。 |
/HEAP |
ヒープ サイズをバイト単位で設定します。 |
/HIGHENTROPYVA |
高エントロピの 64 ビット ASLR (Address Space Layout Randomization) のサポートを指定します。 |
/IDLOUT |
.idl ファイル名およびその他の MIDL の出力ファイル名を指定します。 |
/IGNORE |
指定されたリンカー警告の出力を抑制します。 |
/IGNOREIDL |
.idl ファイル内に属性情報を挿入しません。 |
/ILK |
既定の増分データベース ファイル名をオーバーライドします。 |
/IMPLIB |
既定のインポート ライブラリ名をオーバーライドします。 |
/INCLUDE |
シンボルを明示的に参照します。 |
/INCREMENTAL |
インクリメンタル リンクの処理方法を制御します。 |
/INFERASANLIBS |
推論されたサニタイザー ライブラリを使用します。 |
/INTEGRITYCHECK |
モジュールが読み込み時に署名の確認を要求することを指定します。 |
/KERNEL |
カーネル モード バイナリを作成します。 |
/KEYCONTAINER |
アセンブリに署名するためのキー コンテナーを指定します。 |
/KEYFILE |
アセンブリに署名するキーまたはキー ペアを指定します。 |
/LARGEADDRESSAWARE |
アプリケーションが 2 ギガバイトを超えるアドレスをサポートしていることをコンパイラに伝えます |
/LIBPATH |
環境ライブラリ パスの前に検索するパスを指定します。 |
/LINKREPRO |
リンク再現コード成果物を生成するパスを指定します。 |
/LINKREPROFULLPATHRSP |
リンカーが入力として取得したすべてのファイルへの絶対パスを含む応答ファイルを生成します。 |
/LINKREPROTARGET |
指定したターゲットを生成するときにのみ、リンク再現コードを生成します。16.1 |
/LTCG |
リンク時のコード生成を指定します。 |
/MACHINE |
ターゲット プラットフォームを指定します。 |
/MANIFEST |
side-by-side マニフェスト ファイルを作成し、バイナリに埋め込むことができるようにします。 |
/MANIFESTDEPENDENCY |
マニフェスト ファイルの <dependentAssembly> セクションを指定します。 |
/MANIFESTFILE |
マニフェスト ファイルの既定の名前を変更します。 |
/MANIFESTINPUT |
リンカーが処理を行い、バイナリに埋め込むための、マニフェスト入力ファイルを指定します。 このオプションを複数回使用して、複数のマニフェストの入力ファイルを指定できます。 |
/MANIFESTUAC |
ユーザー アカウント制御 (UAC) 情報をプログラム マニフェストに組み込むかどうかを指定します。 |
/MAP |
マップファイルを作成します。 |
/MAPINFO |
指定した情報をマップ ファイルに格納します。 |
/MERGE |
セクションを結合します。 |
/MIDL |
MIDL コマンド ライン オプションを指定します。 |
/NATVIS |
Natvis ファイルからプログラム データベース (PDB) にデバッガー ビジュアライザーを追加します。 |
/NOASSEMBLY |
.NET Framework アセンブリを作成しません。 |
/NODEFAULTLIB |
外部参照を解決するときに、すべてのまたは指定した既定のライブラリを無視します。 |
/NOENTRY |
リソースだけの DLL を作成します。 |
/NOFUNCTIONPADSECTION |
指定したセクション内の関数の関数の埋め込みを無効にします。17.8 |
/NOLOGO |
開始メッセージを表示しません。 |
/NXCOMPAT |
Windows データ実行防止機能との互換性が確認済みとして実行可能ファイルをマークします。 |
/OPT |
LINK の最適化を制御します。 |
/ORDER |
指定された順序で COMDAT をイメージに取り込みます。 |
/OUT |
出力ファイル名を指定します。 |
/PDB |
PDB ファイルを作成します。 |
/PDBALTPATH |
別の場所を使用して PDB ファイルを保存します。 |
/PDBSTRIPPED |
プライベート シンボルがない PDB ファイルを作成します。 |
/PGD |
ガイド付き最適化のプロファイル用の .pgd ファイルを指定します。 |
/POGOSAFEMODE |
旧形式 スレッドセーフの PGO でインストルメント化されたビルドを作成します。 |
/PROFILE |
パフォーマンス ツール プロファイラーで使用できる出力ファイルを作成します。 |
/RELEASE |
.exe ヘッダーにチェックサムを設定します。 |
/SAFESEH |
安全な例外ハンドラーのテーブルがイメージに含まれるように指定します。 |
/SECTION |
セクションの属性をオーバーライドします。 |
/SOURCELINK |
PDB に追加する SourceLink ファイルを指定します。 |
/STACK |
スタック サイズをバイト単位で設定します。 |
/STUB |
MS-DOS スタブ プログラムを Win32 プログラムにアタッチします。 |
/SUBSYSTEM |
オペレーティング システムに対して、.exe ファイルの実行方法を指定します。 |
/SWAPRUN |
リンカー出力をスワップ ファイルにコピーしてから実行します。 |
/TIME |
リンカー パスのタイミング情報を出力します。 |
/TLBID |
リンカーによって生成されたタイプ ライブラリのリソース ID を指定します。 |
/TLBOUT |
.tlb ファイル名およびその他の MIDL の出力ファイル名を指定します。 |
/TSAWARE |
ターミナル サーバーでの実行専用のアプリケーションを作成します。 |
/USEPROFILE |
ガイド付き最適化のプロファイルのトレーニング データを使用して、最適化されたイメージを作成します。 |
/VERBOSE |
リンカーの進行状況メッセージを出力します。 |
/VERSION |
バージョン番号を割り当てます。 |
/WHOLEARCHIVE |
指定した静的ライブラリのすべてのオブジェクト ファイルをインクルードします。 |
/WINMD |
Windows ランタイム メタデータ ファイルの生成を有効にします。 |
/WINMDFILE |
/WINMD リンカー オプションによって生成されるWindows ランタイム メタデータ (winmd) 出力ファイルのファイル名を指定します。 |
/WINMDKEYFILE |
Windows ランタイム メタデータに署名するキーまたはキー ペアを指定します。 |
/WINMDKEYCONTAINER |
Windows メタデータ ファイルに署名するキー コンテナーを指定します。 |
/WINMDDELAYSIGN |
winmd ファイルに公開キーを配置して、Windows ランタイム メタデータ (.winmd ) ファイルに部分的に署名します。 |
/WX |
リンカー警告をエラーとして扱います。 |
16.1 このオプションは、Visual Studio 2019 バージョン 16.1 以降で使用できます。
17.8 このオプションは、Visual Studio 2022 バージョン 17.8 以降で使用できます。