/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:NO
an.
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
,.exe
oder.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
Ö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).
Wählen Sie die Seite "Konfigurationseigenschaften linker>Allgemein" aus.>
Ändern Sie die Eigenschaft "Inkrementelle Verknüpfung aktivieren" .
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe LinkIncremental.
Siehe auch
MSVC-Linkerreferenz
Linkeroptionen
.ilk
Dateien als Linkereingabe