/INCREMENTAL (vincular de forma incremental)

Especifica si se va a vincular de forma incremental o siempre se realiza un vínculo completo.

Sintaxis

/INCREMENTAL[:NO]

Comentarios

La opción del enlazador /INCREMENTAL controla cómo administra el enlazador la vinculación incremental.

De manera predeterminada, el vinculador se ejecuta en modo incremental. Para reemplazar un vínculo incremental predeterminado, especifique /INCREMENTAL:NO.

Un programa vinculado de forma incremental tiene una funcionalidad equivalente a un programa vinculado de forma no incremental. Pero al estar preparados para posteriores vínculos incrementales, los archivos ejecutables vinculados incrementalmente, las bibliotecas estáticas o las bibliotecas de vínculos dinámicos:

  • A causa del relleno del código y los datos, un tendrán tamaño mayor que los programas vinculados de manera no incremental. El relleno permite al vinculador aumentar el tamaño de las funciones y los datos sin tener que volver a crear el archivo

  • Pueden contener códigos thunk de salto para controlar la reubicación de las funciones en direcciones nuevas.

    Nota:

    Para asegurarse de que la versión final de lanzamiento no contiene relleno ni códigos thunk, vincule el programa de forma no incremental.

Para vincular de forma incremental con independencia del valor predeterminado, especifique /INCREMENTAL. Al seleccionar esta opción, el enlazador emite una advertencia si no puede establecer el vínculo de forma incremental y, después, vincula el programa de manera no incremental. Hay ciertas opciones y situaciones que invalidan /INCREMENTAL.

La mayoría de los programas pueden vincularse de manera incremental. Sin embargo, algunos cambios son demasiado grandes y algunas opciones no son compatibles con la vinculación incremental. LINK realizará un vínculo completo si se especifica cualquiera de las opciones siguientes:

  • El vínculo de manera incremental no está seleccionado (/INCREMENTAL:NO)

  • /OPT:REF está seleccionado

  • /OPT:ICF está seleccionado

  • /OPT:LBR está seleccionado

  • /ORDER está seleccionado

/INCREMENTAL es implícito cuando se especifica /DEBUG.

Asimismo, LINK realizará un vínculo completo si se da alguna de las situaciones siguientes:

  • Falta el archivo de estado incremental (.ilk). (LINK crea un archivo .ilk en previsión de una vinculación incremental posterior).

  • No hay permiso de escritura para el archivo .ilk. (LINK omite el archivo .ilk y realiza un vínculo no incremental).

  • Falta el archivo de salida .exe o .dll.

  • Se cambia la marca de tiempo de .ilk, .exe o .dll.

  • Se ha modificado una opción de LINK. La mayoría de las opciones de LINK, si se cambian entre compilaciones, producen un vínculo completo.

  • Se ha agregado u omitido un archivo de objeto (.obj).

Un vínculo incremental crea o actualiza un archivo .ilk de base de datos de vínculo incremental. Puede especificar el nombre y la ubicación de este archivo mediante la opción del enlazador /ILK (Nombre del archivo de base de datos incremental). Para más información sobre el archivo .ilk, vea Archivos .ilk como entrada del enlazador.

Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Propiedades de configuración>Enlazador>General.

  3. Modifique la propiedad Habilitar vinculación incremental.

Para establecer esta opción del vinculador mediante programación

  1. Vea LinkIncremental.

Consulte también

Referencia del enlazador MSVC
Opciones del enlazador MSVC
Archivos .ilk como entrada del enlazador