Partager via


/INCREMENTAL (Lier par incrément)

/INCREMENTAL[:NO]

Notes

L'option /INCREMENTAL contrôle la façon dont l'éditeur de liens gère les liaisons incrémentielles.

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

Un programme lié de façon incrémentielle équivaut, en termes de fonctionnalités, à un programme lié de façon non incrémentielle. Toutefois, comme ils sont préparés pour des liens incrémentiels à venir, les fichiers exécutables liés de façon incrémentielle (.exe) ou les bibliothèques de liens dynamiques (DLL) présentent les caractéristiques suivantes :

  • Ils sont plus volumineux qu'un programme lié de façon non incrémentielle du fait 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 .exe.)

  • Ils peuvent contenir des thunks de branchement gérant le réadressage des fonctions vers les nouvelles adresses.

    Notes

    Pour s'assurer que la génération de la version release ne contient pas de remplissages ou de thunks, liez votre programme de façon non incrémentielle.

Pour lier par incrément indépendamment de 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 par incrément, puis lie le programme de façon non incrémentielle. Certaines options et situations substituent l'option /INCREMENTAL.

La plupart des programmes peuvent être liés par incrément. Toutefois, certaines modifications étant trop importantes, quelques options sont incompatibles avec les liaisons incrémentielles. LINK effectue un lien complet si l'une des options suivantes est spécifiée :

  • L'option Lier par incrément n'est pas sélectionnée (/INCREMENTAL:NO).

  • /OPT:REF est sélectionné.

  • /OPT:ICF est sélectionné.

  • /ORDER est sélectionné.

/INCREMENTAL est implicite lorsque /DEBUG est spécifié.

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

  • L'état incrémentiel du fichier (.ilk) est manquant (LINK crée un nouveau fichier .ilk en prévision des liaisons incrémentielles à venir).

  • Le fichier .ilk ne possède pas d'autorisation en écriture. (LINK ignore le fichier .ilk et fait des liens non incrémentiels.)

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

  • L'horodatage du fichier .ilk, .exe ou .dll est modifié.

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

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

  • Un objet qui a été compilé avec l'option /Yu /Z7 est modifié.

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éfinition des propriétés de projets Visual C++.

  2. Cliquez sur le dossier Éditeur de liens.

  3. Cliquez sur la page de propriétés Général.

  4. Modifiez la propriété Activation des liens incrémentiels.

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

Voir aussi

Référence

Définition des options de l'Éditeur de liens

Options de l'Éditeur de liens