Linker-Optionen
LINK.exe verknüpft Common Object File Format (COFF)-Objektdateien und -bibliotheken, um eine ausführbare Datei (EXE) oder eine Dynamic Link Library (DLL) zu erstellen.
In der folgenden Tabelle sind die Optionen für "LINK.exe" aufgelistet. Weitere Informationen zu LINK finden Sie unter:
In der Befehlszeile wird die Groß-/Kleinschreibung von Linkeroptionen nicht beachtet. zum Beispiel, /base
und /BASE
meinen Sie dasselbe. Anweisungen zum Angeben der einzelnen Optionen in der Befehlszeile oder in Visual Studio finden Sie in der Dokumentation zur entsprechenden Option.
Mit dem comment
Pragma können Sie einige Linkeroptionen angeben.
Linkeroptionen alphabetisch aufgelistet
Option | Zweck |
---|---|
@ |
Legt eine Antwortdatei fest. |
/ALIGN |
Legt die Ausrichtung eines Abschnitts fest. |
/ALLOWBIND |
Gibt an, dass eine DLL nicht gebunden werden kann. |
/ALLOWISOLATION |
Gibt das Verhalten bei der Manifestsuche an. |
/APPCONTAINER |
Gibt an, ob die App in einer appcontainer-Prozessumgebung ausgeführt werden muss. |
/ARM64XFUNCTIONPADMINX64 |
Gibt die Mindestanzahl der Bytes des Abstands zwischen x64-Funktionen in ARM64X-Bildern an.17.8 |
/ASSEMBLYDEBUG |
Fügt einem verwalteten Image das DebuggableAttribute hinzu. |
/ASSEMBLYLINKRESOURCE |
Erstellt einen Link zu einer verwalteten Ressource. |
/ASSEMBLYMODULE |
Legt fest, dass ein MSIL-Modul (Microsoft Intermediate Language) in den Assembler importiert werden soll. |
/ASSEMBLYRESOURCE |
Bettet eine verwaltete Ressourcendatei in eine Assembly ein. |
/BASE |
Legt eine Basisadresse für das Programm fest. |
/CETCOMPAT |
Markiert die Binärdatei als CET-Schattenstapel kompatibel. |
/CGTHREADS |
Legt die Anzahl von cl.exe-Threads zur Verwendung für die Optimierung und Codegenerierung fest, wenn die Link-Zeitcodegenerierung angegeben ist. |
/CLRIMAGETYPE |
Legt den Typ (IJW, rein oder sicher) eines CLR-Images fest. |
/CLRSUPPORTLASTERROR |
Behält den letzten Fehlercode von Funktionen bei, die vom P/Invoke-Mechanismus aufgerufen werden. |
/CLRTHREADATTRIBUTE |
Gibt das Threadingattribut an, das auf den Einstiegspunkt des CLR-Programms angewendet wird. |
/CLRUNMANAGEDCODECHECK |
Gibt an, ob der Linker das SuppressUnmanagedCodeSecurity Attribut auf linkergenerierte P/Invoke-Stubs anwendet, die von verwaltetem Code in systemeigene DLLs aufgerufen werden. |
/DEBUG |
Erstellt Debuginformationen. |
/DEBUGTYPE |
Gibt an, welche Daten in Debuginformationen eingeschlossen werden sollen. |
/DEF |
Übergibt eine Moduldefinitionsdatei (DEF-Datei) an den Linker. |
/DEFAULTLIB |
Durchsucht die angegebene Bibliothek beim Auflösen externer Verweise. |
/DELAY |
Steuert das verzögerte Laden von DLLs. |
/DELAYLOAD |
Löst das verzögerte Laden der angegebenen DLL aus. |
/DELAYSIGN |
Eine Assembly wird teilweise signiert. |
/DEPENDENTLOADFLAG |
Legt Standardkennzeichnungen für abhängige DLL-Ladevorgänge fest. |
/DLL |
Erstellt eine DLL. |
/DRIVER |
Erstellt einen Kernelmodustreiber. |
/DYNAMICBASE |
Gibt an, ob ein ausführbares Bild generiert werden soll, das zur Ladezeit mithilfe des AsLR-Features (Address Space Layout Randomization) rebasediert wird. |
/ENTRY |
Legt die Startadresse fest. |
/ERRORREPORT |
Veraltet. Die Fehlerberichterstattung wird durch Windows-Fehlerberichterstattung (WER)-Einstellungen gesteuert. |
/EXPORT |
Exportiert eine Funktion. |
/FILEALIGN |
Richtet Abschnitte innerhalb der Ausgabedatei an Vielfachen eines angegebenen Werts aus. |
/FIXED |
Erstellt ein Programm, das nur an seiner bevorzugten Basisadresse geladen werden kann. |
/FORCE |
Erzwingt die Fertigstellung des Links, auch wenn nicht aufgelöste oder mehrfach definierte Symbole vorliegen. |
/FUNCTIONPADMIN |
Erstellt ein Hotpatch-fähiges Image. |
/GENPROFILE , /FASTGENPROFILE |
Beide Optionen geben die Generierung einer .pgd Datei durch den Linker an, um die profilgesteuerte Optimierung (PGO) zu unterstützen. /GENPROFILE und /FASTGENPROFILE verwenden unterschiedliche Standardparameter. |
/GUARD |
Aktiviert den Ablaufsteuerungsschutz. |
/HEAP |
Legt die Größe des Heap in Bytes fest. |
/HIGHENTROPYVA |
Gibt die Unterstützung für 64-Bit-ASLR (Address Space Layout Randomization) mit hoher Entropie an. |
/IDLOUT |
Gibt den Namen der .idl Datei und anderer MIDL-Ausgabedateien an. |
/IGNORE |
Unterdrückt die Ausgabe der angegebenen Linkerwarnungen. |
/IGNOREIDL |
Verhindert die Verarbeitung von Attributinformationen in einer .idl Datei. |
/ILK |
Setzt den standardmäßigen inkrementellen Datenbankdateinamen außer Kraft. |
/IMPLIB |
Überschreibt den Standardnamen für die Importbibliothek. |
/INCLUDE |
Erzwingt Symbolverweise. |
/INCREMENTAL |
Steuert inkrementelles Verknüpfen. |
/INFERASANLIBS |
Verwendet abgeleitete Bereinigungsbibliotheken. |
/INTEGRITYCHECK |
Gibt an, dass für das Modul eine Signaturüberprüfung zur Ladezeit erforderlich ist. |
/KERNEL |
Erstellen Sie eine Binärdatei für den Kernelmodus. |
/KEYCONTAINER |
Gibt einen Schlüsselcontainer zum Signieren einer Assembly an. |
/KEYFILE |
Gibt einen Schlüssel oder ein Schlüsselpaar zum Signieren einer Assembly an. |
/LARGEADDRESSAWARE |
Teilt dem Compiler mit, dass die Anwendung Adressen unterstützt, die größer als 2 Gigabyte sind. |
/LIBPATH |
Gibt einen Suchpfad vor dem Umgebungsbibliothekspfads an. |
/LINKREPRO |
Gibt einen Pfad zum Generieren von Verbindungs-Repro-Artefakten an. |
/LINKREPROFULLPATHRSP |
Generiert eine Antwortdatei, die die absoluten Pfade zu allen Dateien enthält, die der Linker als Eingabe verwendet hat. |
/LINKREPROTARGET |
Generiert einen Link-Repro nur, wenn das angegebene Ziel erstellt wird.16.1 |
/LTCG |
Gibt Link-Zeitcodegenerierung an. |
/MACHINE |
Legt die Zielplattform fest. |
/MANIFEST |
Erstellt eine parallele Manifestdatei und bettet sie optional in der Binärdatei ein. |
/MANIFESTDEPENDENCY |
Gibt einen <abhängigenAssembly-Abschnitt> in der Manifestdatei an. |
/MANIFESTFILE |
Ändert den Standardnamen der Manifestdatei. |
/MANIFESTINPUT |
Gibt eine Manifesteingabedatei an, die der Linker verarbeitet und in der Binärdatei einbettet. Sie können diese Option mehrmals verwenden, um mehr als eine Manifesteingabedatei anzugeben. |
/MANIFESTUAC |
Gibt an, ob Informationen zur Benutzerkontensteuerung (UAC) in das Programmmanifest eingebettet werden. |
/MAP |
Erstellt eine Zuordnungsdatei. |
/MAPINFO |
Fügt die angegebenen Informationen in die Zuordnungsdatei ein. |
/MERGE |
Kombiniert Abschnitte miteinander. |
/MIDL |
Gibt die MIDL-Befehlszeilenoptionen an. |
/NATVIS |
Fügt der Programmdatenbank (PDB) Debuggerschnellansichten aus einer Natvis-Datei hinzu. |
/NOASSEMBLY |
Unterdrückt die Erstellung einer .NET Framework-Assembly. |
/NODEFAULTLIB |
Ignoriert alle (angegebenen) Standardbibliotheken bei der Auflösung von externen Verweisen. |
/NOENTRY |
Erstellt eine DLL, die nur als Ressource dient. |
/NOFUNCTIONPADSECTION |
Deaktiviert den Funktionsabstand für Funktionen im angegebenen Abschnitt.17.8 |
/NOLOGO |
Unterdrückt den Startbanner. |
/NXCOMPAT |
Kennzeichnet eine ausführbare Datei als mit der Windows-Funktion zur Datenausführungsverhinderung kompatibel. |
/OPT |
Steuert die LINK-Optimierungen. |
/ORDER |
Fügt COMDATs in einer vordefinierten Reihenfolge in das Image ein. |
/OUT |
Gibt den Ausgabedateinamen an. |
/PDB |
Erstellt eine PDB-Datei. |
/PDBALTPATH |
Verwendet einen alternativen Speicherort zum Speichern einer PDB-Datei. |
/PDBSTRIPPED |
Erstellt eine PDB-Datei ohne private Symbole. |
/PGD |
Gibt eine .pgd Datei für profilgeführte Optimierungen an. |
/POGOSAFEMODE |
Veraltet Erstellt einen threadsicheren PGO-Instrumentierten Build. |
/PROFILE |
Erstellt eine Ausgabedatei, die mit dem Leistungstoolprofiler verwendet werden kann. |
/RELEASE |
Legt die Prüfsumme in der .exe Kopfzeile fest. |
/SAFESEH |
Legt fest, dass das Image eine Tabelle mit sicheren Ausnahmehandlern enthält. |
/SECTION |
Überschreibt die Attribute eines Abschnitts. |
/SOURCELINK |
Gibt eine SourceLink-Datei an, die dem PDB hinzugefügt werden soll. |
/STACK |
Legt die Stapelgröße in Bytes fest. |
/STUB |
Fügt ein MS-DOS-Stubprogramm an ein Win32-Programm an. |
/SUBSYSTEM |
Teilt dem Betriebssystem mit, wie die .exe Datei ausgeführt wird. |
/SWAPRUN |
Weist das Betriebssystem an, die Linkerausgabe in eine Auslagerungsdatei zu kopieren, bevor sie ausgeführt wird. |
/TIME |
Ausgabelinker übergeben Anzeigedauerinformationen. |
/TLBID |
Gibt Ressourcen-ID der vom Linker generierten Typbibliothek an. |
/TLBOUT |
Gibt den Namen der .tlb Datei und anderer MIDL-Ausgabedateien an. |
/TSAWARE |
Erstellt eine Anwendung, die auf dem Terminalserver ausgeführt werden soll. |
/USEPROFILE |
Verwendet profilgeführte Optimierungsschulungsdaten, um ein optimiertes Bild zu erstellen. |
/VERBOSE |
Druckt Linkerstatusmeldungen aus. |
/VERSION |
Weist eine Versionsnummer zu. |
/WHOLEARCHIVE |
Enthält jede Objektdatei aus angegebenen statischen Bibliotheken. |
/WINMD |
Aktiviert die Generierung einer Windows-Runtime-Metadatendatei. |
/WINMDFILE |
Gibt den Dateinamen für die Windows-Runtime Metadatenausgabedatei (winmd) an, die von der /WINMD Linkeroption generiert wird. |
/WINMDKEYFILE |
Gibt einen Schlüssel oder ein Schlüsselpaar an, um eine Windows-Runtime-Metadatendatei zu signieren. |
/WINMDKEYCONTAINER |
Gibt einen Schlüsselcontainer zum Signieren einer Windows-Metadatendatei an. |
/WINMDDELAYSIGN |
Signiert teilweise eine Windows-Runtime Metadatendatei (.winmd ) durch Platzieren des öffentlichen Schlüssels in der winmd-Datei. |
/WX |
Behandelt Linkerwarnungen als Fehler. |
16.1 Diese Option ist ab Visual Studio 2019, Version 16.1, verfügbar.
17.8 Diese Option ist ab Visual Studio 2022, Version 17.8, verfügbar.