/INCREMENTAL
(増分リンク)
増分リンクするか、または常にフル リンクを実行するかを指定します。
構文
/INCREMENTAL
[:NO
]
解説
リンカー オプションは /INCREMENTAL
、リンカーがインクリメンタル リンクを処理する方法を制御します。
既定では、インクリメンタル リンクは実行されます。 既定の増分リンクをオーバーライドするには、次のように指定します /INCREMENTAL:NO
。
インクリメンタル リンクされたプログラムは、インクリメンタル リンクではないプログラムと機能的には同等です。 ただし、後続の増分リンク用に準備されているため、増分リンクされた実行可能ファイル、スタティック ライブラリ、またはダイナミック リンク ライブラリ ファイルは次のようになります。
コードとデータのパディングにより、インクリメンタル リンクされていないプログラムより大きくなります。 パディングを行うと、リンカーは、ファイルを再作成することなく、関数やデータのサイズを拡張できます。
ジャンプ サンクを使って、新しいアドレスに関数を再配置する場合があります。
Note
最終リリース ビルドにパディングやサンクが含まれないようにするには、プログラムをインクリメンタルにしないでリンクします。
既定値に関係なく増分リンクするには、次のように指定します /INCREMENTAL
。 このオプションを選択すると、リンカーは増分リンクできない場合に警告を発行し、プログラムを非増分リンクします。 特定のオプションと状況がオーバーライドされます /INCREMENTAL
。
大半のプログラムでは、インクリメンタル リンクができます。 ただし、変更箇所が大きすぎたり、インクリメンタル リンクと矛盾するオプションが指定されていると、実行できません。 フル リンクを実行するには、次のいずれかを行います。
[増分リンク] が選択されていない (
/INCREMENTAL:NO
)/OPT:REF
が選択されている/OPT:ICF
が選択されている/OPT:LBR
が選択されている/ORDER
が選択されている
/INCREMENTAL
は、指定された場合 /DEBUG
に暗黙的に指定されます。
以下の場合もフル リンクが行われます。
増分状態 (
.ilk
) ファイルがありません。 (LINK は、後続の増分リンクの準備として新しい.ilk
ファイルを作成します)。ファイルに対する
.ilk
書き込みアクセス許可がありません。 (LINK ではファイルが.ilk
無視され、リンクは増分的に無視されます)。.exe
または.dll
出力ファイルがありません。、、または
.dll
変更されたタイムスタンプ。.ilk
.exe
LINK オプションを変更した場合。 ビルド間で LINK オプションを変更すると、ほとんどの場合、フル リンクが行われます。
オブジェクト (
.obj
) ファイルが追加または省略されます。
増分リンクは、増分リンク データベース .ilk
ファイルを作成または更新します。 (増分データベース ファイルの名前) リンカー オプションを使用して、このファイルの名前と場所を/ILK
指定できます。 ファイルの詳細.ilk
については、リンカー入力としてのファイルを参照してください.ilk
。
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[全般] プロパティ ページを選択します。
[インクリメンタル リンクを有効にする] プロパティを変更します。
このリンカーをコードから設定するには
- 以下を参照してください。LinkIncremental
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示