/INCREMENTAL (inkrementell verknüpfen)

/INCREMENTAL[:NO]

Bemerkungen

Steuert, wie der Linker inkrementelle Verknüpfungen behandelt.

Standardmäßig wird der Linker im inkrementellen Modus ausgeführt. Um einen inkrementellen Standardlink zu überschreiben, müssen Sie "/INCREMENTAL:NO" angeben.

Ein inkrementell verknüpftes Programm entspricht funktional einem Programm, das nicht inkrementell verknüpft ist. Da sie jedoch für nachfolgende inkrementelle Links, eine inkrementell verknüpfte ausführbare Datei, eine statische Bibliothek oder eine Dynamic Link Library-Datei vorbereitet ist:

  • Ist größer als ein nicht inkrementell verknüpftes Programm, da Code und Daten auf padding aufschlossen sind. Durch Auf padding kann der Linker die Größe von Funktionen und Daten erhöhen, ohne die Datei neu zu erstellen.

  • Sie kann Sprung-Thunks enthalten, um das Verschieben von Funktionen auf neue Adressen zu verarbeiten.

    Hinweis

    Um sicherzustellen, dass Der endgültige Release-Build keine Auf padding- oder thunks-Elemente enthält, verknüpfen Sie das Programm nicht inkrementell.

Um unabhängig von der Standardeinstellung die inkrementelle Verknüpfung vorzunehmen, müssen Sie "/INCREMENTAL" angeben. Wenn diese Option ausgewählt ist, gibt der Linker eine Warnung aus, wenn eine inkrementelle Verknüpfung nicht möglich ist, und verknüpft das Programm dann nicht inkrementell. Bei bestimmten Optionen und in bestimmten Situationen wird "/INCREMENTAL" überschrieben.

Die meisten Programme können inkrementell verknüpft werden. Einige Änderungen sind jedoch zu umfangreich, und bestimmte Optionen sind mit dem inkrementellen Verknüpfen nicht kompatibel. LINK führt einen vollständigen Verknüpfungsvorgang durch, wenn eine der folgenden Optionen angegeben wurde:

  • Inkrementell verknüpfen wurde nicht ausgewählt ("/INCREMENTAL:NO").

  • "/OPT:REF" wurde ausgewählt.

  • "/OPT:ICF" wurde ausgewählt.

  • "/OPT:LBR" wurde ausgewählt.

  • "/ORDER" wurde ausgewählt.

/INCREMENTAL wird impliziert, wenn /DEBUG angegeben wird.

Außerdem führt "LINK" einen vollständigen Verknüpfungsvorgang durch, wenn eine der folgenden Situationen eintritt:

  • Die inkrementelle Statusdatei (ILK-Datei) fehlt. (LINK erstellt eine neue ILK-Datei zur Vorbereitung auf spätere inkrementelle Verknüpfungen.)

  • Es sind keine Schreibrechte für die ILK-Datei vorhanden. (LINK ignoriert die ILK-Datei und verknüpft nicht inkrementell.)

  • Die EXE- oder DLL-Ausgabedatei fehlt.

  • Der Zeitstempel der ILK-, EXE- oder DLL-Datei hat sich geändert.

  • Eine LINK-Option hat sich geändert. Die meisten LINK-Optionen führen, wenn sie zwischen zwei Erstellungsvorgängen geändert werden, zu einer vollständigen Verknüpfung.

  • Eine Objektdatei (OBJ-Datei) wurde hinzugefügt oder ausgelassen.

So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Wählen Sie die EigenschaftenseiteKonfigurationseigenschaftenLinkerAllgemein>> aus.

  3. Ändern Sie die Eigenschaft Enable Incremental Linking (Inkrementelle Verknüpfung aktivieren).

So legen Sie diese Linkeroption programmgesteuert fest

  1. Siehe LinkIncremental.

Siehe auch

MSVC-Linkerreferenz
MSVC-Linkeroptionen