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

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

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

出力ファイル

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

進行状況の表示

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

Choices

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

バージョン

/VERSION オプションを指定すると、.exe または .dll ファイルのヘッダーにバージョン番号を付けるよう、リンカーに指示が出されます。 DUMPBIN /HEADERS を使用して、OPTIONAL HEADER VALUES のイメージ バージョン フィールドを確認して /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 ファイルのソース コードにプリコンパイル済みヘッダーの #include (例: pch.h) が含まれている場合、pch.obj ファイルは MyObjFile.obj と同じフォルダーに置かれます。 また、追加の依存関係として、pch.obj を追加する必要があります。

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

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

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

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

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

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

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

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

ファイルを強制的に出力

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

Choices

  • [有効] - 引数のない /FORCE は、/FORCE:MULTIPLE/FORCE:UNRESOLVED の両方を意味します。
  • [重複して定義されているシンボルのみ] - シンボルに対する複数の定義が 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 が使用されます。

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

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

マップ ファイルの作成

/MAP オプションを指定すると、マップファイルを作成するよう、リンカーに指示が出されます。

マップ ファイル名

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

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

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

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

/ASSEMBLYDEBUG を指定すると、DebuggableAttribute 属性がデバッグ情報追跡と共に出力され、JIT 最適化が無効になります。

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

SubSystem

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

Choices

  • [設定なし] - サブシステムは設定されていません。
  • [コンソール] - Win32 文字モード アプリケーションに対して使用します。 コンソール アプリケーションには、オペレーティング システムによってコンソールが提供されます。 main または wmain が定義されている場合、CONSOLE が既定値です。
  • Windows - アプリケーションにはコンソールは不要です。このシステムにはおそらく、ユーザーとの対話用の独自のウィンドウが作成されるためです。 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](heap-set-heap-size.md))

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

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

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

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

大きいサイズのアドレス

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

Terminal Server (ターミナル サーバー)

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

CD からスワップ実行

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

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

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

Driver

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

Choices

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

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

関連情報

/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](entry-entry-point-symbol.md) オプションを使うと、.exe ファイルまたは DLL の開始アドレスとしてエントリ ポイント関数を指定できます。

エントリ ポイントなし

/NOENTRY オプションは、リソースだけの DLL ファイル生成時に必要です。 このオプションを使用すると、_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 オプションを指定すると、最初のセクションと 2 番目のセクションが結合され、結果のセクションの名前が 2 番目のセクションの名前になります。 この例では、/merge:.rdata=.text を指定すると、.rdata セクションが .text セクションとマージされ、結合されたセクションの名前が .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 への、リンカーによって生成された P/Invoke 呼び出しに対して、SuppressUnmanagedCodeSecurityAttribute を適用するかどうかが指定されます。

[エラー報告]

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

Choices

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

SectionAlignment

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

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

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

Choices

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

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

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