LinkeroptionenLinker options

"LINK.exe" ist ein Tool, das Objektdateien und Bibliotheken im COFF-Format (Common Object File Format) miteinander verbindet, um eine ausführbare Datei (EXE-Datei) oder eine DLL (Dynamic Link Library) zu erstellen.LINK.exe links Common Object File Format (COFF) object files and libraries to create an executable (.exe) file or a dynamic-link library (DLL).

In der folgenden Tabelle sind die Optionen für "LINK.exe" aufgelistet.The following table lists options for LINK.exe. Weitere Informationen zu LINK finden Sie unter:For more information about LINK, see:

In der Befehlszeile wird bei den Linkeroptionen die Groß-/Kleinschreibung nicht beachtet. beispielsweise bedeuten/Base und/Base dasselbe.On the command line, linker options are not case-sensitive; for example, /base and /BASE mean the same thing. Anweisungen zum Angeben der einzelnen Optionen in der Befehlszeile oder in Visual Studio finden Sie in der Dokumentation zur entsprechenden Option.For details on how to specify each option on the command line or in Visual Studio, see the documentation for that option.

Einige Linkeroptionen können Sie auch mit dem comment -Pragma festlegen.You can use the comment pragma to specify some linker options.

Linkeroptionen alphabetisch aufgelistetLinker options listed alphabetically

OptionOption ZweckPurpose
@ Legt eine Antwortdatei fest.Specifies a response file.
/ALIGN/ALIGN Legt die Ausrichtung eines Abschnitts fest.Specifies the alignment of each section.
/ALLOWBIND/ALLOWBIND Legt fest, dass keine DLLs verknüpft werden können.Specifies that a DLL cannot be bound.
/ALLOWISOLATION/ALLOWISOLATION Gibt das Verhalten bei der Manifestsuche an.Specifies behavior for manifest lookup.
/APPCONTAINER/APPCONTAINER Gibt an, ob die App in einer appcontainer-Prozessumgebung ausgeführt werden muss.Specifies whether the app must run within an appcontainer process environment.
/ASSEMBLYDEBUG/ASSEMBLYDEBUG Fügt einem verwalteten Image das DebuggableAttribute hinzu.Adds the DebuggableAttribute to a managed image.
/ASSEMBLYLINKRESOURCE/ASSEMBLYLINKRESOURCE Erstellt einen Link zu einer verwalteten Ressource.Creates a link to a managed resource.
/ASSEMBLYMODULE/ASSEMBLYMODULE Legt fest, dass ein MSIL-Modul (Microsoft Intermediate Language) in den Assembler importiert werden soll.Specifies that a Microsoft intermediate language (MSIL) module should be imported into the assembly.
/ASSEMBLYRESOURCE/ASSEMBLYRESOURCE Bettet eine verwaltete Ressourcendatei in eine Assembly ein.Embeds a managed resource file in an assembly.
/BASE/BASE Legt eine Basisadresse für das Programm fest.Sets a base address for the program.
/CGTHREADS/CGTHREADS Legt die Anzahl von cl.exe-Threads zur Verwendung für die Optimierung und Codegenerierung fest, wenn die Link-Zeitcodegenerierung angegeben ist.Sets number of cl.exe threads to use for optimization and code generation when link-time code generation is specified.
/CLRIMAGETYPE/CLRIMAGETYPE Legt den Typ (IJW, rein oder sicher) eines CLR-Images fest.Sets the type (IJW, pure, or safe) of a CLR image.
/CLRSUPPORTLASTERROR/CLRSUPPORTLASTERROR Behält den letzten Fehlercode von Funktionen bei, die vom P/Invoke-Mechanismus aufgerufen werden.Preserves the last error code of functions that are called through the P/Invoke mechanism.
/CLRTHREADATTRIBUTE/CLRTHREADATTRIBUTE Gibt das Threadingattribut an, das auf den Einstiegspunkt des CLR-Programms angewendet wird.Specifies the threading attribute to apply to the entry point of your CLR program.
/CLRUNMANAGEDCODECHECK/CLRUNMANAGEDCODECHECK Gibt an, ob der Linker das SuppressUnmanagedCodeSecurity-Attribute auf vom Linker generierte PInvoke-Stub, die von verwaltetem Code aus systemeigene DLLs Aufrufen, anwendet.Specifies whether the linker will apply the SuppressUnmanagedCodeSecurity attribute to linker-generated PInvoke stubs that call from managed code into native DLLs.
/DEBUG/DEBUG Erstellt Debuginformationen.Creates debugging information.
/DEBUGTYPE/DEBUGTYPE Gibt an, welche Daten in Debuginformationen eingeschlossen werden sollen.Specifies which data to include in debugging information.
/DEF/DEF Übergibt eine Moduldefinitionsdatei (DEF-Datei) an den Linker.Passes a module-definition (.def) file to the linker.
/DEFAULTLIB/DEFAULTLIB Durchsucht die angegebene Bibliothek beim Auflösen externer Verweise.Searches the specified library when external references are resolved.
/DELAY/DELAY Steuert das verzögerte Laden von DLLs.Controls the delayed loading of DLLs.
/DELAYLOAD/DELAYLOAD Löst das verzögerte Laden der angegebenen DLL aus.Causes the delayed loading of the specified DLL.
/DELAYSIGN/DELAYSIGN Eine Assembly wird teilweise signiert.Partially signs an assembly.
/DEPENDENTLOADFLAG/DEPENDENTLOADFLAG Legt Standardflags für abhängige DLL-Ladungen fest.Sets default flags on dependent DLL loads.
/DLL/DLL Erstellt eine DLL.Builds a DLL.
/DRIVER/DRIVER Erstellt einen Kernelmodustreiber.Creates a kernel mode driver.
/DYNAMICBASE/DYNAMICBASE Gibt an, ob ein ausführbares Image generiert werden soll, für das zur Ladezeit mit der ASLR (Address Space Layout Randomization)-Funktion nach dem Zufallsprinzip ein Rebase-Vorgang ausgeführt werden kann.Specifies whether to generate an executable image that can be randomly rebased at load time by using the address space layout randomization (ASLR) feature.
/ENTRY/ENTRY Legt die Startadresse fest.Sets the starting address.
/errorReport/errorReport Gibt interne Linkerfehler an Microsoft weiter.Reports internal linker errors to Microsoft.
/EXPORT/EXPORT Exportiert eine Funktion.Exports a function.
/FILEALIGN/FILEALIGN Richtet Abschnitte in der Ausgabedatei an Vielfachen eines angegebenen Werts aus.Aligns sections within the output file on multiples of a specified value.
/FIXED/FIXED Erstellt ein Programm, das nur an seiner bevorzugten Basisadresse geladen werden kann.Creates a program that can be loaded only at its preferred base address.
/FORCE/FORCE Erzwingt die Fertigstellung des Links, auch wenn nicht aufgelöste oder mehrfach definierte Symbole vorliegen.Forces a link to complete even with unresolved symbols or symbols defined more than once.
/FUNCTIONPADMIN/FUNCTIONPADMIN Erstellt ein Hotpatch-fähiges Image.Creates an image that can be hot patched.
/GENPROFILE, /FASTGENPROFILE/GENPROFILE, /FASTGENPROFILE Beide Optionen geben die Generierung einer PGD-Datei durch den Linker an, um die profilgesteuerte Optimierung (PGO) zu unterstützen.Both of these options specify generation of a .pgd file by the linker to support profile-guided optimization (PGO). /GENPROFILE und /FASTGENPROFILE verwenden unterschiedliche Standardparameter./GENPROFILE and /FASTGENPROFILE use different default parameters.
/GUARD/GUARD Aktiviert den Ablaufsteuerungsschutz.Enables Control Flow Guard protection.
/HEAP/HEAP Legt die Größe des Heap in Bytes fest.Sets the size of the heap, in bytes.
/HIGHENTROPYVA/HIGHENTROPYVA Gibt die Unterstützung für 64-Bit-ASLR (Address Space Layout Randomization) mit hoher Entropie an.Specifies support for high-entropy 64-bit address space layout randomization (ASLR).
/IDLOUT/IDLOUT Legt den Namen der IDL-Datei und anderer MIDL-Ausgabedateien fest.Specifies the name of the .idl file and other MIDL output files.
/IGNORE/IGNORE Unterdrückt die Ausgabe der angegebenen Linkerwarnungen.Suppresses output of specified linker warnings.
/IGNOREIDL/IGNOREIDL Verhindert die Verarbeitung von Attributinformationen in eine IDL-Datei.Prevents the processing of attribute information into an .idl file.
/IMPLIB/IMPLIB Überschreibt den Standardnamen für die Importbibliothek.Overrides the default import library name.
/INCLUDE/INCLUDE Erzwingt Symbolverweise.Forces symbol references.
/INCREMENTAL/INCREMENTAL Steuert inkrementelles Verknüpfen.Controls incremental linking.
/INTEGRITYCHECK/INTEGRITYCHECK Gibt an, dass für das Modul eine Signaturüberprüfung zur Ladezeit erforderlich ist.Specifies that the module requires a signature check at load time.
/KEYCONTAINER/KEYCONTAINER Gibt einen Schlüsselcontainer zum Signieren einer Assembly an.Specifies a key container to sign an assembly.
/KEYFILE/KEYFILE Gibt einen Schlüssel oder ein Schlüsselpaar zum Signieren einer Assembly an.Specifies a key or key pair to sign an assembly.
/LARGEADDRESSAWARE/LARGEADDRESSAWARE Teilt dem Compiler mit, dass die Anwendung Adressen unterstützt, die mehr als zwei Gigabytes umfassenTells the compiler that the application supports addresses larger than two gigabytes
/LIBPATH/LIBPATH Gibt einen Suchpfad vor dem Umgebungsbibliothekspfads an.Specifies a path to search before the environmental library path.
/LINKREPRO/LINKREPRO Gibt einen Pfad zum Generieren von Link Reproduktions Artefakten in an.Specifies a path to generate link repro artifacts in.
/LINKREPROTARGET/LINKREPROTARGET Generiert eine Link Reproduktion nur, wenn das angegebene Ziel erstellt wird. 16,1Generates a link repro only when producing the specified target.16.1
/LTCG/LTCG Gibt Link-Zeitcodegenerierung an.Specifies link-time code generation.
/MACHINE/MACHINE Legt die Zielplattform fest.Specifies the target platform.
/MANIFEST/MANIFEST Erstellt eine parallele Manifestdatei und bettet sie optional in der Binärdatei ein.Creates a side-by-side manifest file and optionally embeds it in the binary.
/MANIFESTDEPENDENCY/MANIFESTDEPENDENCY Gibt einen <dependentassembly-> Abschnitt in der Manifest-Datei an.Specifies a <dependentAssembly> section in the manifest file.
/MANIFESTFILE/MANIFESTFILE Ändert den Standardnamen der Manifestdatei.Changes the default name of the manifest file.
/MANIFESTINPUT/MANIFESTINPUT Gibt eine Manifesteingabedatei an, die der Linker verarbeitet und in der Binärdatei einbettet.Specifies a manifest input file for the linker to process and embed in the binary. Sie können diese Option mehrmals verwenden, um mehr als eine Manifesteingabedatei anzugeben.You can use this option multiple times to specify more than one manifest input file.
/MANIFESTUAC/MANIFESTUAC Gibt an, ob Informationen zur Benutzerkontensteuerung (UAC) in das Programmmanifest eingebettet werden.Specifies whether User Account Control (UAC) information is embedded in the program manifest.
/MAP/MAP Erstellt eine Zuordnungsdatei.Creates a mapfile.
/MAPINFO/MAPINFO Fügt die angegebenen Informationen in die Zuordnungsdatei ein.Includes the specified information in the mapfile.
/MERGE/MERGE Kombiniert Abschnitte miteinander.Combines sections.
/MIDL/MIDL Gibt die MIDL-Befehlszeilenoptionen an.Specifies MIDL command-line options.
/NATVIS/NATVIS Fügt Debugger-Visualisierungen aus einer natvis-Datei in die PDB-Datei ein.Adds debugger visualizers from a Natvis file to the PDB.
/NOASSEMBLY/NOASSEMBLY Unterdrückt die Erstellung einer .NET Framework-Assembly.Suppresses the creation of a .NET Framework assembly.
/NODEFAULTLIB/NODEFAULTLIB Ignoriert alle (angegebenen) Standardbibliotheken bei der Auflösung von externen Verweisen.Ignores all (or the specified) default libraries when external references are resolved.
/NOENTRY/NOENTRY Erstellt eine DLL, die nur als Ressource dient.Creates a resource-only DLL.
/NOLOGO/NOLOGO Unterdrückt den Startbanner.Suppresses the startup banner.
/NXCOMPAT/NXCOMPAT Kennzeichnet eine ausführbare Datei als mit der Windows-Funktion zur Datenausführungsverhinderung kompatibel.Marks an executable as verified to be compatible with the Windows Data Execution Prevention feature.
/OPT/OPT Steuert die LINK-Optimierungen.Controls LINK optimizations.
/ORDER/ORDER Fügt COMDATs in einer vordefinierten Reihenfolge in das Image ein.Places COMDATs into the image in a predetermined order.
/OUT/OUT Gibt den Ausgabedateinamen an.Specifies the output file name.
/PDB/PDB Erstellt eine Programmdatenbankdatei (PDB-Datei).Creates a program database (PDB) file.
/PDBALTPATH/PDBALTPATH Verwendet einen alternativen Speicherort zum Speichern einer PDB-Datei.Uses an alternate location to save a PDB file.
/PDBSTRIPPED/PDBSTRIPPED Erstellt eine Programmdatenbankdatei (PDB-Datei) ohne eigene Symbole.Creates a program database (PDB) file that has no private symbols.
/PGD/PGD Gibt die PGD-Datei für profilgesteuerte Optimierungen an.Specifies a .pgd file for profile-guided optimizations.
/POGOSAFEMODE/POGOSAFEMODE Veraltet Erstellt einen Thread sicheren, instrumentierten PGO-Build.Obsolete Creates a thread-safe PGO instrumented build.
/PROFILE/PROFILE Erstellt eine Ausgabedatei, die mit dem Leistungstoolprofiler verwendet werden kann.Produces an output file that can be used with the Performance Tools profiler.
/RELEASE/RELEASE Legt die Prüfsumme im Header der EXE-Datei fest.Sets the Checksum in the .exe header.
/SAFESEH/SAFESEH Legt fest, dass das Image eine Tabelle mit sicheren Ausnahmehandlern enthält.Specifies that the image will contain a table of safe exception handlers.
/SECTION/SECTION Überschreibt die Attribute eines Abschnitts.Overrides the attributes of a section.
"/SOURCELINK"/SOURCELINK Gibt eine sourcelink-Datei an, die der PDB hinzugefügt werden soll.Specifies a SourceLink file to add to the PDB.
/STACK/STACK Legt die Stapelgröße in Bytes fest.Sets the size of the stack in bytes.
/STUB/STUB Fügt ein MS-DOS-Stubprogramm an ein Win32-Programm an.Attaches an MS-DOS stub program to a Win32 program.
/SUBSYSTEM/SUBSYSTEM Teilt dem Betriebssystem mit, wie die EXE-Datei auszuführen ist.Tells the operating system how to run the .exe file.
/SWAPRUN/SWAPRUN Weist das Betriebssystem an, die Linkerausgabe vor dem Ausführen in eine Auslagerungsdatei zu kopieren.Tells the operating system to copy the linker output to a swap file before it is run.
/TLBID/TLBID Gibt Ressourcen-ID der vom Linker generierten Typbibliothek an.Specifies the resource ID of the linker-generated type library.
/TLBOUT/TLBOUT Legt den Namen der TLB-Datei und anderer MIDL-Ausgabedateien fest.Specifies the name of the .tlb file and other MIDL output files.
/TSAWARE/TSAWARE Erstellt eine Anwendung, die auf dem Terminalserver ausgeführt werden soll.Creates an application that is designed specifically to run under Terminal Server.
/USEPROFILE/USEPROFILE Verwendet die Trainingsdaten für die Profil gesteuerte Optimierung, um ein optimiertes Image zu erstellen.Uses profile-guided optimization training data to create an optimized image.
/VERBOSE/VERBOSE Druckt Linkerstatusmeldungen aus.Prints linker progress messages.
/VERSION/VERSION Weist eine Versionsnummer zu.Assigns a version number.
/WHOLEARCHIVE/WHOLEARCHIVE Schließt jede Objektdatei aus angegebenen statischen Bibliotheken ein.Includes every object file from specified static libraries.
/WINMD/WINMD Aktiviert die Generierung einer Windows-Runtime-Metadatendatei.Enables generation of a Windows Runtime Metadata file.
/WINMDFILE/WINMDFILE Gibt den Dateinamen für die Ausgabedatei der Windows-Runtime-Metadaten (winmd) an, die von der /WINMD - Linkeroption generiert wird.Specifies the file name for the Windows Runtime Metadata (winmd) output file that's generated by the /WINMD linker option.
/WINMDKEYFILE/WINMDKEYFILE Gibt einen Schlüssel oder ein Schlüsselpaar an, um eine Windows-Runtime-Metadatendatei zu signieren.Specifies a key or key pair to sign a Windows Runtime Metadata file.
/WINMDKEYCONTAINER/WINMDKEYCONTAINER Gibt einen Schlüsselcontainer zum Signieren einer Windows-Metadatendatei an.Specifies a key container to sign a Windows Metadata file.
/WINMDDELAYSIGN/WINMDDELAYSIGN Signiert teilweise eine Windows-Runtime-Metadatendatei (.winmd), indem der öffentliche Schlüssels in die winmd-Datei eingefügt wird.Partially signs a Windows Runtime Metadata (.winmd) file by placing the public key in the winmd file.
/WX/WX Behandelt Linkerwarnungen als Fehler.Treats linker warnings as errors.

16,1 diese Option ist ab Visual Studio 2019 Version 16,1 verfügbar.16.1 This option is available starting in Visual Studio 2019 version 16.1.

Siehe auchSee also

Referenz zur C/C++-ErstellungC/C++ Building Reference
MSVC-LinkerreferenzMSVC linker reference