/INCREMENTAL (Lier de façon incrémentielle)

Spécifie s’il faut lier de manière incrémentielle ou toujours effectuer un lien complet.

Syntaxe

/INCREMENTAL[:NO]

Notes

L’option /INCREMENTAL éditeur de liens contrôle la façon dont l’éditeur de liens gère la liaison incrémentielle.

Par défaut, l'éditeur de liens s'exécute en mode incrémentiel. Pour remplacer un lien incrémentiel par défaut, spécifiez /INCREMENTAL:NO.

Un programme lié de manière incrémentielle est fonctionnellement équivalent à un programme qui n’est pas lié de manière incrémentielle. Toutefois, étant donné qu’il est préparé pour les liens incrémentiels suivants, un exécutable lié de manière incrémentielle, une bibliothèque statique ou un fichier de bibliothèque de liens dynamiques :

  • Est supérieur à un programme lié de manière non incrémentielle en raison du remplissage du code et des données. Le remplissage permet à l’éditeur de liens d’augmenter la taille des fonctions et des données sans recréer le fichier.

  • Il peut contenir des conversions de code de renvoi pour gérer le réadressage des fonctions vers de nouvelles adresses.

    Remarque

    Pour vous assurer que votre build finale de version ne contient pas de remplissage ou de bloc, liez votre programme de manière non incrémentielle.

Pour lier de façon incrémentielle, quelle que soit la valeur par défaut, spécifiez /INCREMENTAL. Lorsque cette option est sélectionnée, l’éditeur de liens émet un avertissement s’il ne peut pas lier de manière incrémentielle, puis lie le programme de manière non incrémentielle. Certaines options et situations remplacent /INCREMENTAL.

La plupart des programmes peuvent être liés de façon incrémentielle. Toutefois, certaines modifications sont trop importantes et certaines options sont incompatibles avec l'édition des liens incrémentielle. LINK effectue un lien complet si l'une des options suivantes est spécifiée :

  • Lien incrémentiel n’est pas sélectionné (/INCREMENTAL:NO)

  • /OPT:REF est sélectionné

  • /OPT:ICF est sélectionné

  • /OPT:LBR est sélectionné

  • /ORDER est sélectionné

/INCREMENTAL est implicite lorsqu’elle /DEBUG est spécifiée.

De plus, LINK effectue un lien complet si l'une des situations suivantes se produit :

  • Le fichier d’état incrémentiel (.ilk) est manquant. (LINK crée un .ilk fichier en préparation de la liaison incrémentielle suivante.)

  • Il n’existe aucune autorisation d’écriture pour le .ilk fichier. (LINK ignore le .ilk fichier et les liens non incrémentiels.)

  • Le .exe fichier ou .dll le fichier de sortie est manquant.

  • Horodatage du .ilk, .exeou .dll est modifié.

  • Une option LINK est modifiée. La plupart des options LINK, lorsqu'elles sont modifiées entre les builds, provoquent un lien complet.

  • Un fichier objet (.obj) est ajouté ou omis.

Un lien incrémentiel crée ou met à jour un fichier de base de données de .ilk liaison incrémentielle. Vous pouvez spécifier le nom et l’emplacement de ce fichier à l’aide de l’option /ILK éditeur de liens (fichier de base de données incrémentielle de nom). Pour plus d’informations sur le .ilk fichier, consultez .ilk les fichiers en tant qu’entrée de l’éditeur de liens.

Pour définir cette option de l'éditeur de liens dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés Général de l’Éditeur >de propriétés>de configuration.

  3. Modifiez la propriété Activer la liaison incrémentielle.

Pour définir cette option de l'éditeur de liens par programmation

  1. Consultez LinkIncremental.

Voir aussi

Informations de référence sur l’éditeur de liens MSVC
Options de l’éditeur de liens MSVC
.ilk fichiers en tant qu’entrée de l’éditeur de liens