リンカー オプションLinker Options

LINK.exe は、COFF (Common Object File Format) オブジェクト ファイルとライブラリをリンクし、実行可能ファイル (.exe) やダイナミック リンク ライブラリ (DLL: Dynamic-Link Library) を生成します。LINK.exe links Common Object File Format (COFF) object files and libraries to create an executable (.exe) file or a dynamic-link library (DLL).

LINK.exe のオプションの一覧を次の表に示します。The following table lists options for LINK.exe. LINK の詳細については、下記を参照してください。For more information about LINK, see:

コマンドラインでリンカー オプションは; 大文字小文字を区別できません。たとえば、/base と/BASE は同じ意味です。On the command line, linker options are not case-sensitive; for example, /base and /BASE mean the same thing. コマンド ラインまたは Visual Studio で各オプションを指定する方法の詳細については、そのオプションのドキュメントを参照してください。For details on how to specify each option on the command line or in Visual Studio, see the documentation for that option.

comment プラグマを使用して、一部のリンカー オプションを指定できます。You can use the comment pragma to specify some linker options.

オプションOption 目的Purpose
@ 応答ファイルを指定します。Specifies a response file.
/ALIGN/ALIGN 各セクションのアラインメントを指定します。Specifies the alignment of each section.
/ALLOWBIND/ALLOWBIND DLL をバインディングできないことを指定します。Specifies that a DLL cannot be bound.
/ALLOWISOLATION/ALLOWISOLATION マニフェスト検索の動作を指定します。Specifies behavior for manifest lookup.
/APPCONTAINER/APPCONTAINER アプリケーションが appcontainer プロセス環境内で実行される必要があるかどうかを指定します。Specifies whether the app must run within an appcontainer process environment.
/ASSEMBLYDEBUG/ASSEMBLYDEBUG DebuggableAttribute をマネージド イメージに追加します。Adds the DebuggableAttribute to a managed image.
/ASSEMBLYLINKRESOURCE/ASSEMBLYLINKRESOURCE マネージド リソースへのリンクを作成します。Creates a link to a managed resource.
/ASSEMBLYMODULE/ASSEMBLYMODULE MSIL (Microsoft Intermediate Language) モジュールをアセンブリにインポートする必要があることを指定します。Specifies that a Microsoft intermediate language (MSIL) module should be imported into the assembly.
/ASSEMBLYRESOURCE/ASSEMBLYRESOURCE マネージド リソース ファイルをアセンブリに埋め込みます。Embeds a managed resource file in an assembly.
/BASE/BASE プログラムのベース アドレスを設定します。Sets a base address for the program.
/CGTHREADS/CGTHREADS リンク時のコード生成を指定するときに、最適化およびコード生成に使用する cl.exe スレッド数を設定します。Sets number of cl.exe threads to use for optimization and code generation when link-time code generation is specified.
/CLRIMAGETYPE/CLRIMAGETYPE CLR イメージの種類 (IJW、純粋、または安全) を設定します。Sets the type (IJW, pure, or safe) of a CLR image.
/CLRSUPPORTLASTERROR/CLRSUPPORTLASTERROR P/Invoke 機構を通じて呼び出された関数の最終エラー コードを保持します。Preserves the last error code of functions that are called through the P/Invoke mechanism.
/CLRTHREADATTRIBUTE/CLRTHREADATTRIBUTE CLR プログラムのエントリ ポイントに適用するスレッド処理属性を指定します。Specifies the threading attribute to apply to the entry point of your CLR program.
/CLRUNMANAGEDCODECHECK/CLRUNMANAGEDCODECHECK マネージド コードからネイティブ DLL への呼び出しを行う、リンカーによって生成された PInvoke スタブに、SuppressUnmanagedCodeSecurity 属性を適用するかどうかを指定します。Specifies whether the linker will apply the SuppressUnmanagedCodeSecurity attribute to linker-generated PInvoke stubs that call from managed code into native DLLs.
/DEBUG/DEBUG デバッグ情報を作成します。Creates debugging information.
/DEBUGTYPE/DEBUGTYPE デバッグ情報に含めるデータを指定します。Specifies which data to include in debugging information.
/DEF/DEF モジュール定義 (.def) ファイルをリンカーに渡します。Passes a module-definition (.def) file to the linker.
/DEFAULTLIB/DEFAULTLIB 外部参照を解決するときに、指定したライブラリを検索します。Searches the specified library when external references are resolved.
/DELAY/DELAY DLL の遅延読み込みを制御します。Controls the delayed loading of DLLs.
/DELAYLOAD/DELAYLOAD 指定した DLL に遅延読み込みを発生させます。Causes the delayed loading of the specified DLL.
/DELAYSIGN/DELAYSIGN アセンブリに部分署名します。Partially signs an assembly.
/DEPENDENTLOADFLAG/DEPENDENTLOADFLAG 依存 DLL の読み込みには、既定のフラグを設定します。Sets default flags on dependent DLL loads.
/DLL/DLL DLL をビルドします。Builds a DLL.
/DRIVER/DRIVER カーネル モード ドライバーを作成します。Creates a kernel mode driver.
/DYNAMICBASE/DYNAMICBASE ASLR (Address Space Layout Randomization) 機能を使用してロード時にランダムに再ベースできる実行可能イメージを生成するかどうかを指定します。Specifies whether to generate an executable image that can be randomly rebased at load time by using the address space layout randomization (ASLR) feature.
/ENTRY/ENTRY 開始アドレスを設定します。Sets the starting address.
/errorReport/errorReport 内部リンカー エラーを Microsoft に報告します。Reports internal linker errors to Microsoft.
/EXPORT/EXPORT 関数をエクスポートします。Exports a function.
/FILEALIGN/FILEALIGN 指定された値の倍数で出力ファイル内のセクションを配置します。Aligns sections within the output file on multiples of a specified value.
/FIXED/FIXED 指定のベース アドレスだけに読み込まれるプログラムを作成します。Creates a program that can be loaded only at its preferred base address.
/FORCE/FORCE 未解決のシンボルまたは複数定義のシンボルがある場合でも、リンクを強制的に終了します。Forces a link to complete even with unresolved symbols or symbols defined more than once.
/FUNCTIONPADMIN/FUNCTIONPADMIN ホット パッチ可能なイメージを作成します。Creates an image that can be hot patched.
/GENPROFILE、/FASTGENPROFILE/GENPROFILE, /FASTGENPROFILE これらのオプションは、ガイド付き最適化のプロファイル (PGO) をサポートするために、どちらもリンカーによる .pgd ファイルの生成を指定します。Both of these options specify generation of a .pgd file by the linker to support profile-guided optimization (PGO). /GENPROFILE と /FASTGENPROFILE は、それぞれに異なる既定のパラメーターを使用します。/GENPROFILE and /FASTGENPROFILE use different default parameters.
/GUARD/GUARD 制御フロー ガードによる保護を有効にします。Enables Control Flow Guard protection.
/HEAP/HEAP ヒープ サイズをバイト単位で設定します。Sets the size of the heap, in bytes.
/HIGHENTROPYVA/HIGHENTROPYVA 高エントロピの 64 ビット ASLR (Address Space Layout Randomization) のサポートを指定します。Specifies support for high-entropy 64-bit address space layout randomization (ASLR).
/IDLOUT/IDLOUT .idl ファイル名およびその他の MIDL の出力ファイル名を指定します。Specifies the name of the .idl file and other MIDL output files.
/IGNORE/IGNORE 指定されたリンカー警告の出力を抑制します。Suppresses output of specified linker warnings.
/IGNOREIDL/IGNOREIDL .idl ファイル内に属性情報を挿入しません。Prevents the processing of attribute information into an .idl file.
/IMPLIB/IMPLIB 既定のインポート ライブラリ名をオーバーライドします。Overrides the default import library name.
/INCLUDE/INCLUDE シンボルを明示的に参照します。Forces symbol references.
/INCREMENTAL/INCREMENTAL インクリメンタル リンクの処理方法を制御します。Controls incremental linking.
/INTEGRITYCHECK/INTEGRITYCHECK モジュールが読み込み時に署名の確認を要求することを指定します。Specifies that the module requires a signature check at load time.
/KEYCONTAINER/KEYCONTAINER アセンブリに署名するためのキー コンテナーを指定します。Specifies a key container to sign an assembly.
/KEYFILE/KEYFILE アセンブリに署名するキーまたはキー ペアを指定します。Specifies a key or key pair to sign an assembly.
/LARGEADDRESSAWARE/LARGEADDRESSAWARE アプリケーションが 2 GB を超えるアドレスをサポートしていることをコンパイラに指定します。Tells the compiler that the application supports addresses larger than two gigabytes
/LIBPATH/LIBPATH 環境ライブラリ パスの前に検索するパスを指定します。Specifies a path to search before the environmental library path.
/LTCG/LTCG リンク時のコード生成を指定します。Specifies link-time code generation.
/MACHINE/MACHINE ターゲット プラットフォームを指定します。Specifies the target platform.
/MANIFEST/MANIFEST side-by-side マニフェスト ファイルを作成し、バイナリに埋め込むことができるようにします。Creates a side-by-side manifest file and optionally embeds it in the binary.
/MANIFESTDEPENDENCY/MANIFESTDEPENDENCY 指定します、 <dependentAssembly > セクションで、マニフェスト ファイル。Specifies a <dependentAssembly> section in the manifest file.
/MANIFESTFILE/MANIFESTFILE マニフェスト ファイルの既定の名前を変更します。Changes the default name of the manifest file.
/MANIFESTINPUT/MANIFESTINPUT リンカーが処理を行い、バイナリに埋め込むための、マニフェスト入力ファイルを指定します。Specifies a manifest input file for the linker to process and embed in the binary. このオプションを複数回使用して、複数のマニフェストの入力ファイルを指定できます。You can use this option multiple times to specify more than one manifest input file.
/MANIFESTUAC/MANIFESTUAC ユーザー アカウント制御 (UAC) 情報をプログラム マニフェストに組み込むかどうかを指定します。Specifies whether User Account Control (UAC) information is embedded in the program manifest.
/MAP/MAP マップファイルを作成します。Creates a mapfile.
/MAPINFO/MAPINFO 指定した情報をマップ ファイルに格納します。Includes the specified information in the mapfile.
/MERGE/MERGE セクションを結合します。Combines sections.
/MIDL/MIDL MIDL コマンド ライン オプションを指定します。Specifies MIDL command-line options.
/NATVIS/NATVIS PDB に Natvis ファイルからデバッガー ビジュアライザーを追加します。Adds debugger visualizers from a Natvis file to the PDB.
/NOASSEMBLY/NOASSEMBLY .NET Framework アセンブリを作成しません。Suppresses the creation of a .NET Framework assembly.
/NODEFAULTLIB/NODEFAULTLIB 外部参照を解決するときに、すべてのまたは指定した既定のライブラリを無視します。Ignores all (or the specified) default libraries when external references are resolved.
/NOENTRY/NOENTRY リソースだけの DLL を作成します。Creates a resource-only DLL.
/NOLOGO/NOLOGO 開始メッセージを表示しません。Suppresses the startup banner.
/NXCOMPAT/NXCOMPAT Windows データ実行防止機能との互換性が確認済みとして実行可能ファイルをマークします。Marks an executable as verified to be compatible with the Windows Data Execution Prevention feature.
/OPT/OPT LINK の最適化を制御します。Controls LINK optimizations.
/ORDER/ORDER 指定された順序で COMDAT をイメージに取り込みます。Places COMDATs into the image in a predetermined order.
/OUT/OUT 出力ファイル名を指定します。Specifies the output file name.
/PDB/PDB プログラム データベース (PDB) ファイルを作成します。Creates a program database (PDB) file.
/PDBALTPATH/PDBALTPATH 別の場所を使用して PDB ファイルを保存します。Uses an alternate location to save a PDB file.
/PDBSTRIPPED/PDBSTRIPPED プログラム データベース (PDB) ファイルの作成時にプライベート シンボルを含めません。Creates a program database (PDB) file that has no private symbols.
/PGD/PGD ガイド付き最適化のプロファイル用の .pgd ファイルを指定します。Specifies a .pgd file for profile-guided optimizations.
/POGOSAFEMODE/POGOSAFEMODE 古いスレッド セーフのインストルメント化 PGO ビルドを作成します。Obsolete Creates a thread-safe PGO instrumented build.
/PROFILE/PROFILE パフォーマンス ツール プロファイラーで使用できる出力ファイルを作成します。Produces an output file that can be used with the Performance Tools profiler.
/RELEASE/RELEASE .exe ヘッダーにチェックサムを設定します。Sets the Checksum in the .exe header.
/SAFESEH/SAFESEH 安全な例外ハンドラーのテーブルがイメージに含まれるように指定します。Specifies that the image will contain a table of safe exception handlers.
/SECTION/SECTION セクションの属性をオーバーライドします。Overrides the attributes of a section.
/SOURCELINK/SOURCELINK Pdb ファイルに追加する SourceLink ファイルを指定します。Specifies a SourceLink file to add to the PDB.
/STACK/STACK スタック サイズをバイト単位で設定します。Sets the size of the stack in bytes.
/STUB/STUB MS-DOS スタブ プログラムを Win32 プログラムにアタッチします。Attaches an MS-DOS stub program to a Win32 program.
/SUBSYSTEM/SUBSYSTEM オペレーティング システムに対して、.exe ファイルの実行方法を指定します。Tells the operating system how to run the .exe file.
/SWAPRUN/SWAPRUN リンカー出力をスワップ ファイルにコピーしてから実行します。Tells the operating system to copy the linker output to a swap file before it is run.
/TLBID/TLBID リンカーによって生成されたタイプ ライブラリのリソース ID を指定します。Specifies the resource ID of the linker-generated type library.
/TLBOUT/TLBOUT .tlb ファイル名およびその他の MIDL の出力ファイル名を指定します。Specifies the name of the .tlb file and other MIDL output files.
/TSAWARE/TSAWARE ターミナル サーバーでの実行専用のアプリケーションを作成します。Creates an application that is designed specifically to run under Terminal Server.
/USEPROFILE/USEPROFILE 最適化されたイメージを作成するには、最適化トレーニング データをプロファイル ガイド付きの使用。Uses profile-guided optimization training data to create an optimized image.
/VERBOSE/VERBOSE リンカーの進行状況メッセージを出力します。Prints linker progress messages.
/VERSION/VERSION バージョン番号を割り当てます。Assigns a version number.
/WHOLEARCHIVE/WHOLEARCHIVE 指定された静的ライブラリからすべてのオブジェクト ファイルが含まれています。Includes every object file from specified static libraries.
/WINMD/WINMD Windows ランタイム メタデータ ファイルの生成を有効にします。Enables generation of a Windows Runtime Metadata file.
/WINMDFILE/WINMDFILE /WINMD のリンカー オプションによって生成される Windows のランタイム メタデータ (winmd) の出力ファイルの名前を指定します。Specifies the file name for the Windows Runtime Metadata (winmd) output file that's generated by the /WINMD linker option.
/WINMDKEYFILE/WINMDKEYFILE Windows ランタイム メタデータに署名するキーまたはキー ペアを指定します。Specifies a key or key pair to sign a Windows Runtime Metadata file.
/WINMDKEYCONTAINER/WINMDKEYCONTAINER Windows メタデータ ファイルに署名するキー コンテナーを指定します。Specifies a key container to sign a Windows Metadata file.
/WINMDDELAYSIGN/WINMDDELAYSIGN winmd ファイルに公開キーを設定して、Windows のランタイム メタデータ (.winmd) ファイルに部分的に署名します。Partially signs a Windows Runtime Metadata (.winmd) file by placing the public key in the winmd file.
/WX/WX リンカー警告をエラーとして扱います。Treats linker warnings as errors.

詳細については、「 Compiler-Controlled LINK Options」を参照してください。For more information, see Compiler-Controlled LINK Options.

関連項目See also

C/C++ ビルドのリファレンスC/C++ Building Reference
MSVC リンカーのリファレンスMSVC linker reference