/INCREMENTAL (инкрементная компоновка)
/INCREMENTAL[:NO]
Заметки
Параметр /INCREMENTAL управляет тем, как компоновщик производит инкрементную компоновку.
По умолчанию компоновщик находится в инкрементном режиме. Чтобы переопределить инкрементную компоновку, используемую по умолчанию, укажите параметр /INCREMENTAL:NO.
Программа, инкрементно скомпонованная, функционально эквивалентна программе, неинкрементно скомпонованной. Однако, поскольку подобная программа подготовлена для последовательных инкрементных компоновок, инкрементно скомпонованный исполняемый EXE-файл или библиотеки динамической компоновки (DLL) отличаются перечисленными ниже характеристиками:
Является большей, чем неинкрементно скомпонованная программа, по причине заполнения кода и данных. (Заполнение позволяет компоновщику увеличить размер функций и данных без повторного создания EXE-файла).
Может содержать преобразователи гиперссылок для размещения функций по новым адресам.
Примечание
Чтобы убедиться в том, что окончательное построение выпуска не содержит заполнения и гиперссылки, скомпонуйте программу неинкрементно.
Чтобы скомпоновать инкрементно, несмотря на значение по умолчанию, укажите /INCREMENTAL. Когда этот параметр выбран, компоновщик выдает предупреждение, как если бы он не мог компоновать инкрементно, а затем компонует программу неинкрементно. Определенные параметры и ситуации переопределяют /INCREMENTAL.
Большинство программ можно компоновать инкрементно. Тем не менее, некоторые изменения слишком значительны, а некоторые параметры — несовместимы с инкрементной компоновкой. LINK выполняет полною компоновку так, как если бы были указаны следующие параметры:
Компоновать инкрементно не выбрано (/INCREMENTAL:NO)
/OPT:REF выбран
/OPT:ICF выбран
/ORDER выбран
/INCREMENTAL подразумевается, когда указан /DEBUG.
Кроме того, LINK выполняет полную компоновку, если происходит одна из следующих ситуаций:
ILK-файл инкрементного состояния пропущен. (LINK создает новый ILK-файл в подготовке для последовательной инкрементной компоновки).
Права записи в ILK-файл отсутствуют. (LINK отклоняет ILK-файл и компонует неинкрементно).
EXE-файл или DLL-файл вывода пропущены.
Временная метка в ILK-, EXE- или DLL-файлах изменена.
Параметр LINK изменен. Большинство параметров LINK, при изменениях между построениями, вызывают полную компоновку.
Объектный OBJ-файл добавлен или пропущен.
Объект, который был скомпилирован с помощью параметра /Yu /Z7 изменен.
Установка данного параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Установка свойств проекта C++.
Выберите папку Linker.
Выберите страницу свойств Общие.
Измените свойство Включить инкрементную компоновку.
Установка данного параметра компоновщика программным способом
- См. раздел LinkIncremental.