/INCREMENTAL (Inkrementelle Verknüpfung)

Gibt an, ob eine Verknüpfung inkrementell oder immer eine vollständige Verknüpfung ausgeführt werden soll.

Syntax

/INCREMENTAL[:NO]

Hinweise

Die /INCREMENTAL Linkeroption steuert, wie der Linker die inkrementelle Verknüpfung verarbeitet.

Standardmäßig wird der Linker im inkrementellen Modus ausgeführt. Zum Überschreiben einer inkrementellen Standardverknüpfung geben Sie /INCREMENTAL:NOan.

Ein inkrementell verknüpftes Programm entspricht funktionell einem Programm, das nicht inkrementell verknüpft ist. Da sie jedoch auf nachfolgende inkrementelle Verknüpfungen vorbereitet ist, ist eine inkrementell verknüpfte ausführbare Datei, statische Bibliothek oder Dynamic Link Library-Bibliotheksdatei vorbereitet:

  • Ist aufgrund des Abstands von Code und Daten größer als ein nicht inkrementelles Programm. Durch den Abstand 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 Ihr endgültiges Releasebuild keine Abstands- oder Thunks enthält, verknüpfen Sie Ihr Programm nicht inkrementell.

Geben Sie an, um eine inkrementelle Verknüpfung unabhängig von der Standardeinstellung zu erstellen /INCREMENTAL. Wenn diese Option ausgewählt ist, gibt der Linker eine Warnung aus, wenn sie nicht inkrementell verknüpft werden kann, und verknüpft das Programm dann nicht inkrementell. Bestimmte Optionen und Situationen überschreiben /INCREMENTAL.

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:

  • Inkrementelle Verknüpfung ist nicht ausgewählt (/INCREMENTAL:NO)

  • /OPT:REF ist ausgewählt

  • /OPT:ICF ist ausgewählt

  • /OPT:LBR ist ausgewählt

  • /ORDER ist 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) fehlt. (LINK erstellt eine neue .ilk Datei zur Vorbereitung auf nachfolgende inkrementelle Verknüpfungen.)

  • Für die .ilk Datei gibt es keine Schreibberechtigung. (LINK ignoriert die .ilk Datei und links nicht inkrementell.)

  • Die .exe Ausgabedatei fehlt .dll .

  • Der Zeitstempel des .ilk, .exeoder .dll wird 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) wird hinzugefügt oder weggelassen.

Eine inkrementelle Verknüpfung erstellt oder aktualisiert eine inkrementelle Verknüpfungsdatenbankdatei .ilk . Sie können den Namen und Speicherort dieser Datei mithilfe der /ILK Linkeroption (inkrementelle Datenbankdatei benennen) angeben. Weitere Informationen zur .ilk Datei finden Sie unter .ilk Dateien als Linkereingabe.

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 Seite "Konfigurationseigenschaften linker>Allgemein" aus.>

  3. Ändern Sie die Eigenschaft "Inkrementelle Verknüpfung aktivieren" .

So legen Sie diese Linkeroption programmgesteuert fest

  1. Siehe LinkIncremental.

Siehe auch

MSVC-Linkerreferenz
Linkeroptionen
.ilk Dateien als Linkereingabe