Поделиться через


/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

  1. Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Работа со свойствами проектов.

  2. Выберите папку Компоновщик.

  3. Выберите страницу свойств Общие.

  4. Измените свойство Включить инкрементную компоновку.

Задание данного параметра компоновщика программным способом

См. также

Ссылки

Настройка параметров компоновщика

Параметры компоновщика