リンカー プロパティ ページ

以下のプロパティは、[プロジェクト]>[プロパティ]>[構成プロパティ]>[リンカー] の下にあります。 リンカーについて詳しくは、「リンカーを呼び出す CL」と「リンカー オプション」をご覧ください。

[全般] プロパティ ページ

出力ファイル

/OUT オプションは、リンカーによって作成されるプログラムの既定の名前と場所をオーバーライドします。

進行状況の表示

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

Choices

  • [設定なし] - 詳細情報はありません。
  • [詳細情報をすべて表示] - すべての進行状況メッセージを表示します。
  • [検索したライブラリ] - 検索したライブラリのみを示す進行状況メッセージを表示します。
  • [最適化されたリンク時の COMDAT の圧縮] - 最適化されたリンク時の COMDAT の圧縮に関する情報を表示します。
  • [最適化されたリンク時に削除されたデータ] - 最適化されたリンク時の削除された関数とデータに関する情報を表示します。
  • [SEH と互換性のないモジュール] - 安全な例外処理と互換性のないモジュールに関する情報を表示します。
  • [マネージ コードに関連するリンカー動作] - マネージド コードに関連するリンカー アクティビティについての情報を表示します。

Version

/VERSION オプションは、.exe または .dll ファイルのヘッダーにバージョン番号を付けるようにリンカーを設定します。 /VERSION の効果を確認するには、DUMPBIN /HEADERS を使用して、オプションのヘッダー値の image version フィールドを表示します。

インクリメンタル リンクを有効にする

インクリメンタル リンクを有効にします。 (/INCREMENTAL、/INCREMENTAL:NO)

著作権情報の非表示

/NOLOGO オプションを指定すると、著作権のメッセージとバージョン番号が表示されなくなります。

インポート ライブラリの無視

このプロパティは、このビルドから生成された .lib 出力を依存プロジェクトにリンクしないようにリンカーに通知します。 プロジェクト システムは、ビルド時に .lib ファイルを生成しない .dll ファイルを処理できます。 あるプロジェクトが DLL を生成する他のプロジェクトに依存している場合、プロジェクト システムでは子プロジェクトによって生成される .lib ファイルを自動的にリンクします。 このプロパティは、COM DLL やリソースだけの DLL を生成するプロジェクトでは不要な場合があります。これらの DLL には意味のあるエクスポート内容が含まれません。 DLL にエクスポート内容が含まれない場合は、リンカーで .lib ファイルが生成されません。 エクスポート .lib ファイルがなく、不足している DLL とリンクするようプロジェクト システムがリンカーに指示した場合、リンクは失敗します。 この問題を解決するには、[インポート ライブラリの無視] プロパティを使用します。 このプロパティを [はい] に設定すると、プロジェクト システムは .lib ファイルの有無を無視し、このプロジェクトに依存する他のプロジェクトが、存在しない .lib ファイルとリンクされないようにします。

プログラムを使用してこのプロパティにアクセスする方法については、「IgnoreImportLibrary」を参照してください。

出力の登録

.dll プロジェクトでのみ有効なビルド出力で regsvr32.exe /s $(TargetPath) を実行します。 .exe プロジェクトでは、このプロパティは無視されます。 .exe 出力を登録するには、構成にビルド後のイベントを設定し、登録済みの .exe ファイルに必要なカスタム登録を行います。

プログラムを使用してこのプロパティにアクセスする方法については、「RegisterOutput」を参照してください。

ユーザーごとのリダイレクト

Visual Studio の登録はこれまで、HKEY_CLASSES_ROOT (HKCR) で行われてきました。 Windows Vista 以降のオペレーティング システムでは、HKCR にアクセスするには、特権モードで Visual Studio を実行する必要があります。 開発者は常に管理者特権モードを必要とするわけではありませんが、登録を処理する必要があります。 ユーザーごとのリダイレクトにより、管理者特権モードで実行せずに登録を行うことができるようになります。

ユーザーごとのリダイレクトは、HKCR への書き込みが HKEY_CURRENT_USER (HKCU) にリダイレクトされるように強制します。 ユーザーごとのリダイレクトをオフにすると、プログラムが HKCR への書き込みを試行するときにプロジェクト ビルド エラー PRJ0050 が発生する場合があります。

追加のライブラリ ディレクトリ

環境のライブラリ パスをユーザーがオーバーライドできるようにします。 (/LIBPATH:folder)

依存プロジェクトによって生成された .lib ファイルをリンクするかどうかを指定します。 通常、.lib ファイルでリンクしますが、特定の DLL の場合はそうしないことがあります。

また、ファイル名と相対パス (たとえば "..\..\MyLibProject\MyObjFile.obj") によって .obj ファイルを指定できます。 .obj ファイルのソース コードにプリコンパイル済みヘッダー (たとえば pch.h) が含まれている場合、pch.obj ファイルは MyObjFile.obj と同じフォルダーにあります。依存関係として pch.obj を追加する必要があります。

ライブラリ依存関係の入力の使用

プロジェクト依存関係のライブラリ出力にリンクするとき、ライブラリ ファイル自体ではなく、ライブラリアン ツールへの入力を使用するかどうかを指定します。 大規模なプロジェクトでは、依存プロジェクトによって .lib ファイルが生成される場合、インクリメンタル リンクは無効にされています。 .lib ファイルを生成する依存プロジェクトが多数存在する場合、アプリケーションのビルドに長時間を要する場合があります。 このプロパティを [はい] に設定すると、プロジェクト システムによってインクリメンタル リンクが有効にされ、依存プロジェクトが生成する .lib ファイルに対して .obj ファイルがリンクされます。

[全般] リンカー プロパティ ページにアクセスする方法については、「Visual Studio で C++ コンパイラとビルド プロパティを設定する」をご覧ください。

リンクの何パーセントが完了したかを示す進行状況のインジケーターをリンカーで表示するかどうかを指定します。 既定では、この状態情報は表示されません。 (/LTCG:STATUS|LTCG:NOSTATUS)

DLL をバインディングしない

/ALLOWBIND:NO は DLL のヘッダーにビットを設定して、イメージをバインドできないことを Bind.exe に示します。 DLL がデジタル署名されている場合はバインドしないほうがよいでしょう (バインドによって署名が無効になる)。

リンカー警告をエラーとして扱う

/WX を指定すると、リンカーで警告が生成される場合に出力ファイルは生成されません。

ファイルを強制的に出力

/FORCE オプションは、未定義のシンボルが参照された場合や、シンボルが複数回定義された場合でも、.exe ファイルまたは DLL を作成するようリンカーに指示します。 無効な .exe ファイルが作成される可能性があります。

Choices

  • [有効] - 引数のない /FORCE は、複数と未解決の両方を意味します。
  • [重複して定義されているシンボルのみ] - シンボルに対する複数の定義が LINK で検出された場合でも、出力ファイルを作成するには、/FORCE:MULTIPLE を使用します。
  • [未定義のシンボルのみ] - 未定義のシンボルが LINK によって検出されるかどうかに関係なく出力ファイルを作成するには、/FORCE:UNRESOLVED を使用します。 エントリ ポイント シンボルが未解決の場合、/FORCE:UNRESOLVED は無視されます。

ホットパッチ可能なイメージの作成

イメージにホットパッチを適用できるようにします。

Choices

  • [有効] - イメージにホットパッチを適用できるようにします。
  • [X86 イメージのみ] - X86 イメージにホットパッチを適用できるようにします。
  • [X64 イメージのみ] - X64 イメージにホットパッチを適用できるようにします。
  • [Itanium イメージのみ] - Itanium イメージにホットパッチを適用できるようにします。

セクションの属性の指定

/SECTION オプションを指定すると、セクションの属性が変更され、そのセクションの .obj ファイルがコンパイルされたときにその属性がオーバーライドされます。

[入力] プロパティ ページ

追加の依存ファイル

リンク コマンド ラインに追加する項目を指定します (例: kernel32.lib)。

すべての既定のライブラリの無視

/NODEFAULTLIB オプションを使用すると、外部参照の解決時に検索するライブラリ リストに記載されている 1 つ以上の既定のライブラリを削除するようにリンカーを設定します。

特定の既定のライブラリの無視

無視する既定のライブラリの名前を 1 つ以上指定します。 複数のライブラリはセミコロンで区切ります。 (/NODEFAULTLIB:[name, name, ...])

モジュール定義ファイル

/DEF オプションでは、モジュール定義ファイル (.def) をリンカーに渡します。 LINK に対して指定できる .def ファイルは 1 つだけです。

モジュールをアセンブリに追加

/ASSEMBLYMODULE オプションを使うと、アセンブリにモジュール参照を追加できます。 モジュール内の型情報は、モジュール参照を追加したアセンブリ プログラムでは使用できません。 ただし、モジュール内の型情報は、アセンブリを参照する任意のプログラムで使用できます。

マネージド リソース ファイルの埋め込み

/ASSEMBLYRESOURCE では、リソース ファイルが出力ファイル内に埋め込まれます。

シンボル参照の強制

/INCLUDE オプションは、指定されたシンボルをシンボル テーブルに追加するようリンカーを設定します。

DLL の遅延読み込み

/DELAYLOAD オプションは、DLL の遅延読み込みを行います。 DLL 名では、遅延読み込みを行う DLL を指定します。

/ASSEMBLYLINKRESOURCE を指定すると、出力ファイル内に .NET Framework リソースへのリンクが作成されます。リソース ファイルは出力ファイル内に置かれません。

[マニフェスト ファイル] プロパティ ページ

マニフェストを生成する

/MANIFEST は、リンカーが side-by-side マニフェスト ファイルを作成することを指定します。

マニフェスト ファイル

/MANIFESTFILE を使用すると、マニフェスト ファイルの既定の名前を変更できます。 マニフェスト ファイルの既定の名前は、ファイル名に .manifest が付加されています。

追加のマニフェスト依存関係

/MANIFESTDEPENDENCY を使用すると、マニフェスト ファイルの dependency セクションに配置される属性を指定できます。

分離の許可

マニフェスト検索の動作を指定します。 (/ALLOWISOLATION:NO)

ユーザー アカウント制御 (UAC) を有効にする

ユーザー アカウント制御が有効かどうかを指定します。 (/MANIFESTUAC、/MANIFESTUAC:NO)

UAC の実行レベル

ユーザー アカウント制御を使用して実行されているアプリケーションに対する要求実行レベルを指定します。 (/MANIFESTUAC:level=[value])

Choices

  • asInvoker - UAC の実行レベル: 起動元として実行します。
  • highestAvailable - UAC の実行レベル: 利用できる最も高いレベルで実行します。
  • requireAdministrator - UAC の実行レベル: 管理者の特権が必要です。

UAC による UI 保護のバイパス

デスクトップ上の他のウィンドウのユーザー インターフェイス保護レベルをバイパスするかどうかを指定します。 アクセシビリティ アプリケーションの場合にのみ、このプロパティを [はい] に設定します。 (/MANIFESTUAC:uiAccess=[true | false])

[デバッグ] プロパティ ページ

デバッグ情報の生成

このオプションを使用すると、.exe ファイルまたは DLL のデバッグ情報を作成できます。

Choices

  • [いいえ] - デバッグ情報を生成しません。
  • [デバッグ情報の生成] - Microsoft シンボル サーバーへの配布に最適なプログラム データベース (PDB) を作成します。
  • [高速リンク用に最適化されたデバッグ情報の生成] - 編集-リンク-デバッグ サイクルに最適なプログラム データベース (PDB) を生成します。
  • [共有と公開用に最適化されたデバッグ情報の生成] - 編集-リンク-デバッグ サイクルに最適なプログラム データベース (PDB) を生成します。

プログラム データベース ファイルの生成

既定では、/DEBUG が指定されている場合、リンカーによってデバッグ情報を保持するプログラム データベース (PDB) が作成されます。 PDB の既定のファイル名には、プログラムのベース名と拡張子 .pdb が使用されます。

プライベート シンボルの削除

/PDBSTRIPPED オプションは、PDB ファイルを生成するいずれかのコンパイラ オプションまたはリンカー オプション (/DEBUG、/Z7、/Zd、/Zi) を使ってプログラム イメージをビルドするときに、2 番目のプログラム データベース (PDB) ファイルを作成します。

マップ ファイルの作成

/MAP オプションは、マップ ファイルを作成するようにリンカーに指示します。

マップ ファイル名

マップ ファイルのユーザー指定の名前。 既定の名前を置き換えます。

マップ ファイルのエクスポート

/MAPINFO オプションは、指定された情報をマップ ファイルに含めるようにリンカーに指示します。このファイルは、/MAP オプションを指定した場合に作成されます。 EXPORTS は、エクスポートされた関数を含めるようリンカーに指示します。

デバッグできるアセンブリ

/ASSEMBLYDEBUG は、DebuggableAttribute 属性をデバッグ情報追跡と共に出力し、JIT 最適化を無効にします。

[システム] プロパティ ページ

サブシステム

/SUBSYSTEM オプションは、オペレーティング システムに対して、.exe ファイルの実行方法を指定します。 サブシステムの選択によって、リンカーが選択するエントリ ポイント シンボル (またはエントリ ポイント関数) が決まります。

Choices

  • [設定なし] - サブシステムは設定されていません。
  • [コンソール] - Win32 文字モード アプリケーションに対して使用します。 コンソール アプリケーションには、オペレーティング システムによってコンソールが提供されます。 main または wmain が定義されている場合は、CONSOLE が既定値です。
  • [ウィンドウ] - アプリケーションにはコンソールは不要です。このシステムにはユーザーとの対話用のウィンドウが作成されるからです。 WinMain または wWinMain が定義されている場合は、WINDOWS が既定値です。
  • [ネイティブ] - Windows NT 用のデバイス ドライバー。 /DRIVER:WDM が指定されている場合、既定値は NATIVE です。
  • [EFI アプリケーション] - EFI アプリケーションです。
  • [EFI ブート サービス ドライバー] - EFI ブート サービス ドライバーです。
  • [EFI ROM] - EFI ROM です。
  • [EFI ランタイム] - EFI ランタイムです。
  • [POSIX] - Windows NT 上の POSIX サブシステムで実行するアプリケーションです。

最低限必要なバージョン

サブシステムに最低限必要なバージョンを指定します。 引数には、0 ~ 65535 の範囲の 10 進数を指定します。

ヒープ サイズの設定

仮想メモリのヒープの総割り当てサイズを指定します。 既定値は 1 MB です。 (/HEAP:reserve)

ヒープ コミット サイズの設定

物理メモリのヒープの総割り当てサイズを指定します。 既定値は 4 KB です。 (/HEAP:reserve,commit)

[スタックのサイズの設定]

仮想メモリ内のスタック割り当て合計サイズを指定します。 既定値は 1 MB です。 (/STACK:reserve)

[スタックのコミット サイズ]

物理メモリ内のスタック割り当て合計サイズを指定します。 既定値は 4 KB です。 (/STACK:reserve,commit)

大きいサイズのアドレス

/LARGEADDRESSAWARE オプションは、アプリケーションが 2 ギガバイトを超えるアドレスを処理できることをリンカーに伝えます。 既定では、リンカー行で /LARGEADDRESSAWARE に他の値が指定されていない場合、/LARGEADDRESSAWARE:NO が有効になります。

ターミナル サーバー

/TSAWARE オプションを指定すると、プログラム イメージのオプション ヘッダー内の IMAGE_OPTIONAL_HEADER DllCharacteristics フィールドにフラグが設定されます。 このフラグが設定されると、ターミナル サーバーはアプリケーションに特定の変更を加えなくなります。

CD からスワップ実行

/SWAPRUN オプションは、まずスワップ ファイルにリンカー出力をコピーして、そこからイメージを実行するようオペレーティング システムを設定します。 このオプションは Windows NT 4.0 (以降) の機能です。 CD が指定されている場合、オペレーティング システムはリムーバブル ディスク上のイメージをページ ファイルにコピーし、それを読み込みます。

ネットワークからスワップ実行

/SWAPRUN オプションは、まずスワップ ファイルにリンカー出力をコピーして、そこからイメージを実行するようオペレーティング システムを設定します。 このオプションは Windows NT 4.0 (以降) の機能です。 NET が指定されている場合、オペレーティング システムはまずネットワークからバイナリ イメージをスワップ ファイルにコピーし、そこから読み込みを行います。 このオプションは、ネットワーク経由でアプリケーションを実行する場合に便利です。

Driver

/DRIVER リンカー オプションを使って、Windows NT カーネル モード ドライバーをビルドします。

Choices

  • [設定なし] - 既定のドライバー設定。
  • [ドライバー] - ドライバーです
  • [UP のみ] - /DRIVER:UPONLY を使うと、リンカーは出力ヘッダーの特性に IMAGE_FILE_UP_SYSTEM_ONLY ビットを追加し、それをユニプロセッサ (UP) ドライバーとして指定します。 オペレーティング システムでは、マルチプロセッサ (MP) システムへの UP ドライバーの読み込みが拒否されます。
  • [WDM] - /DRIVER:WDM を使うと、リンカーはオプション ヘッダーの DllCharacteristics フィールドに IMAGE_DLLCHARACTERISTICS_WDM_DRIVER ビットを設定します。

[最適化] プロパティ ページ

References

/OPT:REF を指定すると、参照されない関数とデータが削除されます。/OPT:NOREF を指定すると、参照されない関数とデータが保持されます。

[COMDAT の圧縮]

/OPT:ICF[=iterations] を使用すると、同じ COMDAT の圧縮が実行されます。

関数の順序

/ORDER オプションは、特定の COMDAT を事前に決められた順序でイメージに配置することでプログラムを最適化するよう LINK に指示します。 LINK は、イメージの各セクション内に指定された順序で関数を設定します。

ガイド付きデータベースのプロファイル

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

リンク時のコード生成を指定します。 (/LTCG)

Choices

  • [既定値] - 既定の LTCG 設定。
  • [高速リンク時のコード生成を使用する] - /FASTGENPROFILE でリンク時のコード生成を使用します。
  • [リンク時のコード生成を使用] - /リンク時のコード生成を使用を使用します。
  • [ガイド付き最適化のプロファイル - インストルメント] - :PGINSTRUMENT でガイド付き最適化のプロファイルを使用します。
  • [ガイド付き最適化のプロファイル - 最適化] - リンカーが、インストルメント化されたバイナリを実行した後に作成されたプロファイル データを使用して、最適化されたイメージを作成する必要があることを指定します。
  • [ガイド付き最適化のプロファイル - 更新] - :PGINSTRUMENT フェーズで指定されたものに追加または変更する入力ファイルの一覧を許可および追跡します。

[埋め込み IDL] プロパティ ページ

MIDL コマンド

MIDL コマンド ライン オプションを指定します。 (/MIDL:@responsefile)

埋め込み IDL の無視

/IGNOREIDL オプションを使用すると、ソース コード内の IDL 属性を .idl ファイルへと処理しないことを指定できます。

マージされた IDL ベース ファイル名

/IDLOUT オプションは、.idl ファイルの名前と拡張子を指定するために使用します。

タイプ ライブラリ

/TLBOUT オプションは、.tlb ファイルの名前と拡張子を指定するために使用します。

TypeLib リソース ID

リンカーによって生成されたタイプ ライブラリのリソース ID を指定できます。 (/TLBID:id)

[Windows メタデータ] プロパティ ページ

Windows メタデータの生成

Windows メタデータの生成を有効または無効にします。

Choices

  • [はい] - Windows メタデータ ファイルの生成を有効にします。
  • [いいえ] - Windows メタデータ ファイルの生成を無効にします。

Windows メタデータ ファイル

/WINMDFILE オプション スイッチ。

Windows メタデータ キー ファイル

Windows メタデータに署名するためのキーまたはキー ペアを指定します。 (/WINMDKEYFILE:filename)

Windows メタデータ キー コンテナー

Windows メタデータに署名するためのキー コンテナーを指定します。 (/WINMDKEYCONTAINER:name)

Windows メタデータ遅延署名

Windows メタデータに部分的に署名します。 Windows メタデータに公開キーだけを含める場合は、/WINMDDELAYSIGN を使用します。 既定値は /WINMDDELAYSIGN:NO です。

[詳細] プロパティ ページ

エントリ ポイント

/ENTRY を使うと、.exe ファイルまたは DLL の開始アドレスとしてエントリ ポイント関数を指定できます。

エントリ ポイントなし

リソースのみの DLL を作成するには、/NOENTRY オプションが必要です。このオプションを使用すると、LINK で _main への参照が DLL にリンクされなくなります。

チェックサムの設定

/RELEASE オプションは、.exe ファイルのヘッダー内にチェックサムを設定します。

ベース アドレス

プログラムのベース アドレスを設定します。 (/BASE:{address[,size] | @filename,key})

ランダム化されたベース アドレス

ランダム化されたベース アドレスです。 (/DYNAMICBASE[:NO])

固定ベース アドレス

指定のベース アドレスだけに読み込まれるプログラムを作成します。 (/FIXED[:NO])

データ実行防止 (DEP)

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

アセンブリの生成をオフにする

/NOASSEMBLY オプションを指定すると、.NET Framework アセンブリを使用せずに現在の出力ファイルのイメージを作成するよう、リンカーに指示が出されます。

遅延読み込みされた DLL のアンロード

UNLOAD 修飾子は、DLL の明示的なアンロードをサポートするように遅延読み込みヘルパー関数に指定します。 (/DELAY:UNLOAD)

遅延読み込みされた DLL のバインドなし

NOBIND 修飾子は、バインドできる IAT を最終イメージに含めないようにリンカーに指定します。 既定では、遅延読み込みされる DLL に対してバインドできる IAT が作成されます。 (/DELAY:NOBIND)

インポート ライブラリ

既定のインポート ライブラリ名をオーバーライドします。 (/IMPLIB:filename)

セクションの結合

/MERGE オプションを指定すると、最初のセクション (from) と 2 番目のセクション (to) が結合され、結果のセクションの名前が to になります。 たとえば、/merge:.rdata=.text です。

対象コンピューター

/MACHINE オプションは、プログラムのターゲット プラットフォームを指定します。

Choices

  • 設定なし
  • MachineARM
  • MachineARM64
  • MachineEBC
  • MachineIA64
  • MachineMIPS
  • MachineMIPS16
  • MachineMIPSFPU
  • MachineMIPSFPU16
  • MachineSH4
  • MachineTHUMB
  • MachineX64
  • MachineX86

[プロファイル]

パフォーマンス ツール プロファイラーで使用できる出力ファイルを作成します。 GenerateDebugInformation (//DEBUG) を設定する必要があります。 (/PROFILE)

CLR スレッド属性

CLR プログラムのエントリ ポイントにスレッド属性を明示的に指定します。

Choices

  • [MTA スレッド属性] - MTAThreadAttribute 属性をプログラムのエントリ ポイントに適用します。
  • [STA スレッド属性] - STAThreadAttribute 属性をプログラムのエントリ ポイントに適用します。
  • [既定のスレッド属性] - /CLRTHREADATTRIBUTE を指定しない場合と同じです。 共通言語ランタイム (CLR) で既定のスレッド属性を設定できるようにします。

CLR イメージ タイプ

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

Choices

  • IJW イメージの強制
  • 純粋 IL イメージの強制
  • 安全 IL イメージの強制
  • 既定のイメージ タイプ

キー ファイル

アセンブリに署名するためのキーまたはキー ペアを指定します。 (/KEYFILE:filename)

キー コンテナー

アセンブリに署名するためのキー コンテナーを指定します。 (/KEYCONTAINER:name)

遅延署名

アセンブリに部分署名します。 アセンブリに公開キーだけを含める場合は、/DELAYSIGN を使用します。 既定値は /DELAYSIGN:NO です。

CLR アンマネージド コード チェック

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

[エラー報告]

内部コンパイラ エラー (ICE) 情報を Visual C++ チームに直接報告できます。

Choices

  • [すぐにメッセージを表示] - すぐにプロンプトを表示します。
  • [次回ログインのためのキュー] - 次回ログインのためにキューに入れます。
  • [エラー報告の送信] - エラー報告を送信します。
  • [エラー報告なし] - エラー報告を行いません。

SectionAlignment

/ALIGN オプションを使って、プログラムのリニア アドレス空間内の各セクションのアラインメントを指定します。 number 引数はバイト単位であり、2 の累乗である必要があります。

PInvoke 呼び出しの最終エラー コードの保持

既定でオンになっている /CLRSUPPORTLASTERROR を指定すると、P/Invoke メカニズムを介して呼び出される関数の最終エラー コードが保持されます。これにより、/clr を指定してコンパイルしたコードから DLL のネイティブ関数を呼び出すことができます。

Choices

  • [有効] - CLRSupportLastError を有効にします。
  • [無効] - CLRSupportLastError を無効にします。
  • [システム DLL のみ] - システム DLL についての CLRSupportLastError のみを有効にします。

安全な例外ハンドラーを含むイメージ

/SAFESEH を指定すると、リンカーは、イメージの安全な例外ハンドラーのテーブルも生成できる場合にイメージだけを生成します。 このテーブルは、どの例外ハンドラーがイメージに対して有効であるかをオペレーティング システムに指定します。