/INCREMENTAL 選項控制連接器如何處理增量連接。函數
默認狀況下,連接器以增量模式運行。若要重寫默認增量連接,請指定 /INCREMENTAL:NO。對象
增量連接的程序在功能上等效於非增量連接的程序。不過,由於它是爲後面的增量連接而準備的,因此增量連接的可執行 (.exe) 文件或動態連接庫 (DLL):開發
- 大於非增量連接的程序,由於有代碼和數據的填充。(填充容許連接器增長函數和數據的大小而不用從新建立 .exe 文件。)
- 能夠包含跳轉 thunk 以處理函數重定位到新地址。
注意 爲了確保最終發佈版本不包含填充或 thunk,請非增量連接您的程序。
若要增量連接而無論默認值,請指定 /INCREMENTAL。選定該選項後,若是連接器沒法增量連接,它就會發出警告,而後非增量連接程序。某些選項和狀況重寫 /INCREMENTAL。io
大多數程序均可以增量連接。然而,某些更改太大,某些選項與增量連接不兼容。若是指定了任何下列選項,則 LINK 執行徹底連接:編譯
- 增量連接未被選定 (/INCREMENTAL:NO)
- 選定 /OPT:REF
- 選定 /OPT:ICF
- 選定 /ORDER
指定 /DEBUG 時暗含 /INCREMENTAL。table
另外,若是發生如下任何狀況,則 LINK 執行徹底連接:class
- 缺乏增量狀態 (.ilk) 文件。(LINK 將建立新的 .ilk 文件覺得後面的增量連接做準備。)
- 對 .ilk 文件沒有寫入權限。(LINK 忽略 .ilk 文件並進行非增量連接。)
- 缺乏 .exe 或 .dll 輸出文件。
- 更改 .ilk、.exe 或 .dll 的時間戳。
- 更改 LINK 選項。大多數 LINK 選項在各生成間更改時致使徹底連接。
- 添加或省略對象 (.obj) 文件。
- 更改用 /Yu /Z7 選項編譯的對象。
在 Visual Studio 開發環境中設置此連接器選項
- 打開此項目的「屬性頁」對話框。有關詳細信息,請參見設置 Visual C++ 項目屬性。
- 單擊「連接器」文件夾。
- 單擊「常規」屬性頁。
- 修改「啓用增量連接」屬性爲默認值。