リンカー オプション

LINK は、COFF (Common Object File Format) オブジェクト ファイルとライブラリをリンクし、実行可能ファイル (.exe) やダイナミック リンク ライブラリ (DLL: Dynamic-Link Library) を生成するツールです。

次の表は、LINK.exe のオプションすべてを示した一覧です。ここでは、以下についての情報も含まれています。

コマンド ラインで指定するリンカー オプションの大文字と小文字は区別されません。つまり、/base と /BASE は、同じ指定を意味します。

一部のリンカー オプションは、comment プラグマを使用して指定できます。

オプション

目的

@

応答ファイルを指定します。

/ALIGN

各セクションの配置を指定します。

/ALLOWBIND

DLL をバインドできないことを指定します。

/ALLOWISOLATION

マニフェスト検索の動作を指定します。

/ASSEMBLYDEBUG (DebuggableAttribute の追加)

DebuggableAttribute をマネージ イメージに追加します。

/ASSEMBLYLINKRESOURCE

マネージ リソースへのリンクを作成します。

/ASSEMBLYMODULE

MSIL (Microsoft Intermediate Language) モジュールをアセンブリにインポートする必要があることを指定します。

/ASSEMBLYRESOURCE

マネージ リソース ファイルをアセンブリに埋め込みます。

/BASE

プログラムのベース アドレスを設定します。

/CLRIMAGETYPE

CLR イメージの種類 (IJW、純粋、または安全) を設定します。

/CLRSUPPORTLASTERROR

P/Invoke 機構を通じて呼び出された関数の最終エラー コードを保持します。

/CLRTHREADATTRIBUTE

CLR プログラムのエントリ ポイントに適用するスレッド処理属性を指定します。

/CLRUNMANAGEDCODECHECK

/CLRUNMANAGEDCODECHECK は、マネージ コードからネイティブ DLL への呼び出しを行う、リンカーによって生成された PInvoke スタブに、SuppressUnmanagedCodeSecurity 属性を適用するかどうかを指定します。

/DEBUG

デバッグ情報を作成します。

/DEF

モジュール定義 (.def) ファイルをリンカーに渡します。

/DEFAULTLIB

外部参照を解決するときに、指定したライブラリを検索します。

/DELAY

DLL の遅延読み込みを制御します。

/DELAYLOAD

指定した DLL に遅延読み込みを発生させます。

/DELAYSIGN

アセンブリに部分署名します。

/DLL

DLL をビルドします。

/DRIVER

Windows NT カーネル モード ドライバーを作成します。

/DYNAMICBASE

Windows Vista の ASLR (Address Space Layout Randomization) 機能を使用してロード時にランダムに再ベースできる実行可能イメージを生成するかどうかを指定します。

/ENTRY

開始アドレスを設定します。

/errorReport

内部リンカー エラーを Microsoft に報告します。

/EXPORT

関数をエクスポートします。

/FIXED

指定のベース アドレスだけに読み込まれるプログラムを作成します。

/FORCE

未解決または複数定義のシンボルがある場合でも、リンクを強制的に終了します。

/FUNCTIONPADMIN

ホットパッチ可能なイメージを作成します。

/HEAP

ヒープ サイズをバイト単位で設定します。

/IDLOUT

.idl ファイル名およびその他の MIDL の出力ファイル名を指定します。

/IGNOREIDL

.idl ファイル内に属性情報を挿入しません。

/IMPLIB

既定のインポート ライブラリ名をオーバーライドします。

/INCLUDE

シンボルを明示的に参照します。

/INCREMENTAL

インクリメンタル リンクの処理方法を制御します。

/KEYCONTAINER

アセンブリに署名するキー コンテナーを指定します。

/KEYFILE

アセンブリに署名するキーまたはキー ペアを指定します。

/LARGEADDRESSAWARE

アプリケーションが 2 GB を超えるアドレスをサポートしていることをコンパイラに指定します。

/LIBPATH

ユーザーが環境ライブラリ パスをオーバーライドできるようにします。

/LTCG

リンク時コード生成を指定します。

/MACHINE

ターゲット プラットフォームを指定します。

/MANIFEST

side-by-side マニフェスト ファイルを作成します。

/MANIFESTDEPENDENCY

マニフェスト ファイルの <dependentAssembly> セクションを指定します。

/MANIFESTFILE (マニフェスト ファイルに名前を付ける)

マニフェスト ファイルの既定の名前を変更します。

/MANIFESTUAC

ユーザー アカウント制御 (UAC) 情報をプログラム マニフェストに組み込むかどうかを指定します。

/MAP

マップファイルを作成します。

/MAPINFO

指定した情報をマップ ファイルに格納します。

/MERGE

セクションを結合します。

/MIDL

MIDL コマンド ライン オプションを指定します。

/NOASSEMBLY

.NET Framework アセンブリを作成しません。

/NODEFAULTLIB

外部参照を解決するときに、すべてのまたは指定した既定のライブラリを無視します。

/NOENTRY

リソースだけの DLL を作成します。

/NOLOGO

開始メッセージを表示しません。

/NXCOMPAT

Windows データ実行防止機能との互換性がテスト済みとして実行可能ファイルをマークします。

/OPT

LINK の最適化を制御します。

/ORDER

指定された順序で COMDAT をイメージに取り込みます。

/OUT

出力ファイル名を指定します。

/PDB

プログラム データベース (PDB) ファイルを作成します。

/PDBALTPATH

別の場所を使用して PDB ファイルを保存します。

/PDBSTRIPPED

プログラム データベース (PDB) ファイルの作成時にプライベート シンボルを含めません。

/PGD

ガイド付き最適化のプロファイル用の .pgd ファイルを指定します。

/PROFILE

パフォーマンス ツール プロファイラーで使用できる出力ファイルを作成します。

/RELEASE

.exe ヘッダーにチェックサムを設定します。

/SAFESEH

安全な例外ハンドラーのテーブルがイメージに含まれるように指定します。

/SECTION

セクションの属性をオーバーライドします。

/STACK

スタック サイズをバイト単位で設定します。

/STUB

MS-DOS スタブ プログラムを Win32 プログラムにアタッチします。

/SUBSYSTEM

オペレーティング システムに対して、.exe ファイルの実行方法を指定します。

/SWAPRUN

リンカー出力をスワップ ファイルにコピーしてから実行します。

/TLBID

リンカーにより生成されたタイプ ライブラリのリソース ID を指定できます。

/TLBOUT

.tlb ファイル名およびその他の MIDL の出力ファイル名を指定します。

/TSAWARE

ターミナル サーバーでの実行専用のアプリケーションを作成します。

/VERBOSE

リンカーの進行状況メッセージを出力します。

/VERSION

バージョン番号を割り当てます。

/WINMD

Windows のランタイム メタデータ ファイルの生成を有効にします。

[/WINMDFILE]

/WINMD のリンカー オプションによって生成される Windows のランタイム メタデータ (winmd) の出力ファイルの名前を指定します。

/WINMDKEYFILE

割り当て署名するためのキーを指定する、またはキーのペアは、Windows のランタイム メタデータ ファイル。

/WINMDKEYCONTAINER

割り当て署名するためのキー コンテナーを指定するメタデータ ファイルの Windows します。

/WINMDDELAYSIGN

割り当て部分署名する winmd ファイルに公開キーを設定することで、Windows のランタイム メタデータ (ファイル) winmd します。

/WX

リンカー警告をエラーとして扱います。

詳細については、「コンパイラで制御される LINK オプション」を参照してください。

参照

関連項目

リンカー オプションの設定

その他の技術情報

C/C++ ビルドのリファレンス

FAQ: Building Your Program