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