/INCREMENTAL
(以累加方式連結)
指定要以累加方式連結,還是一律執行完整連結。
語法
/INCREMENTAL
[:NO
]
備註
連結 /INCREMENTAL
器選項會控制連結器如何處理累加連結。
根據預設,連結器是以累加模式執行。 若要覆寫預設累加連結,請指定 /INCREMENTAL:NO
。
累加連結的程式在功能上相當於非累加連結的程式。 不過,因為它已針對後續的累加鏈接備妥、累加連結的可執行檔、靜態庫或動態連結庫檔案:
因為填補程式代碼和數據,因此大於非累加連結的程式。 填補可讓連結器增加函式和數據的大小,而不需要重新建立檔案。
可能包含跳躍點 (Jump) Thunk,用以將函式重新配置到新的位址。
注意
若要確保您的最終版本組建不包含邊框間距或 Thunk,請以非累加方式連結程式。
若要以累加方式連結,不論預設值為何,請指定 /INCREMENTAL
。 選取此選項時,如果鏈接器無法以累加方式連結,則會發出警告,然後以非累加方式連結程式。 某些選項與情況會覆寫 /INCREMENTAL
。
大部分程式都可以用累加方式連結。 然而,有些變更可能太大,而且有些選項與累加連結不相容。 如果指定了以下任何選項,LINK 便會執行完整連結:
未選取累加連結 (
/INCREMENTAL:NO
)/OPT:REF
已選取/OPT:ICF
已選取/OPT:LBR
已選取/ORDER
已選取
/INCREMENTAL
指定 時 /DEBUG
為隱含。
此外,如果發生下列任何情況,LINK 也會執行完整連結:
遺漏累加狀態 (
.ilk
) 檔案。 (LINK 會建立新的.ilk
檔案,以準備後續的累加連結。檔案沒有寫入許可權
.ilk
。 (LINK 會忽略檔案.ilk
,並以非累加方式連結。.exe
缺少 或.dll
輸出檔案。、 或
.dll
的.ilk
.exe
時間戳已變更。某個 LINK 選項已變更。 大部分 LINK 選項在不同組建之間有所變更時,都會產生完整連結。
已新增或省略物件 (
.obj
) 檔案。
累加連結會建立或更新累加連結資料庫 .ilk
檔案。 您可以使用 [命名累加資料庫檔案] 連結器選項來指定此檔案/ILK
的名稱和位置。 如需檔案的詳細資訊 .ilk
,請參閱 .ilk
檔案作為連結器輸入。
在 Visual Studio 開發環境中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性>] 連結器>[一般] 屬性頁。
修改 [啟用累加連結] 屬性。
若要以程式設計方式設定這個連結器選項
- 請參閱 LinkIncremental。