Opzioni linker
LINK.exe collega file di oggetti COFF (Common Object File Format) e librerie per creare un file eseguibile (EXE) o una libreria a collegamento dinamico (DLL).
La tabella seguente contiene un elenco di opzioni per LINK.exe. Per altre informazioni su LINK, vedere:
Nella riga di comando le opzioni del linker non fanno distinzione tra maiuscole e minuscole; ad esempio, /base
e /BASE
significa la stessa cosa. Per informazioni dettagliate su come specificare ogni opzione nella riga di comando o in Visual Studio, vedere la documentazione relativa all'opzione.
È possibile usare il comment
pragma per specificare alcune opzioni del linker.
Opzioni del linker elencate alfabeticamente
Opzione | Scopo |
---|---|
@ |
Specifica un file di risposta. |
/ALIGN |
Specifica l'allineamento di ogni sezione. |
/ALLOWBIND |
Specifica che una DLL non può essere associata. |
/ALLOWISOLATION |
Specifica il comportamento per la ricerca del manifesto. |
/APPCONTAINER |
Specifica se l'app deve essere eseguita in un ambiente di elaborazione Appcontainer. |
/ARM64XFUNCTIONPADMINX64 |
Specifica il numero minimo di byte di spaziatura interna tra le funzioni x64 nelle immagini ARM64X.17.8 |
/ASSEMBLYDEBUG |
Aggiunge DebuggableAttribute a un'immagine gestita. |
/ASSEMBLYLINKRESOURCE |
Crea un collegamento a una risorsa gestita. |
/ASSEMBLYMODULE |
Specifica che un modulo MSIL (Microsoft Intermediate Language) deve essere importato nell'assembly. |
/ASSEMBLYRESOURCE |
Incorpora un file di risorse gestite in un assembly. |
/BASE |
Imposta un indirizzo di base per il programma. |
/CETCOMPAT |
Contrassegna il file binario come compatibile con CET Shadow Stack. |
/CGTHREADS |
Imposta il numero di thread cl.exe da usare per l'ottimizzazione e la generazione di codice quando si specifica la generazione del codice in fase di collegamento. |
/CLRIMAGETYPE |
Imposta il tipo (IJW, pure o safe) di un'immagine CLR. |
/CLRSUPPORTLASTERROR |
Conserva l'ultimo codice di errore delle funzioni chiamate con il meccanismo P/Invoke. |
/CLRTHREADATTRIBUTE |
Specifica l'attributo threading da applicare al punto di ingresso del programma CLR. |
/CLRUNMANAGEDCODECHECK |
Specifica se il linker applica l'attributo SuppressUnmanagedCodeSecurity agli stub P/Invoke generati dal linker che chiamano dal codice gestito in DLL native. |
/DEBUG |
Crea informazioni di debug. |
/DEBUGTYPE |
Specifica i dati da includere nelle informazioni di debug. |
/DEF |
Passa a LIB un file di definizione moduli (estensione def). |
/DEFAULTLIB |
Esegue ricerche nella libreria specificata per la risoluzione dei riferimenti esterni. |
/DELAY |
Controlla il caricamento ritardato delle DLL. |
/DELAYLOAD |
Causa il caricamento ritardato della DLL specificata. |
/DELAYSIGN |
Firma parzialmente un assembly. |
/DEPENDENTLOADFLAG |
Imposta i flag predefiniti sui caricamenti di DLL dipendenti. |
/DLL |
Compila una DLL. |
/DRIVER |
Crea un driver in modalità kernel. |
/DYNAMICBASE |
Specifica se generare un'immagine eseguibile ribasata in fase di caricamento usando la funzionalità asLR (Address Space Layout Randomization). |
/ENTRY |
Imposta indirizzo iniziale. |
/ERRORREPORT |
Deprecato. La segnalazione errori è controllata dalle impostazioni di Segnalazione errori Windows (WER). |
/EXPORT |
Esporta una funzione. |
/FILEALIGN |
Allinea le sezioni all'interno del file di output su multipli di un valore specificato. |
/FIXED |
Crea un programma caricabile solo nel relativo indirizzo di base preferito. |
/FORCE |
Forza il completamento di un collegamento nonostante la presenza di simboli non risolti o definiti più volte. |
/FUNCTIONPADMIN |
Crea un'immagine su cui si può applicare una patch a caldo. |
/GENPROFILE , /FASTGENPROFILE |
Entrambe queste opzioni specificano la generazione di un .pgd file dal linker per supportare l'ottimizzazione PGO (Profile-Guided Optimization). / GENPROFILE e /FASTGENPROFILE usano parametri predefiniti diversi. |
/GUARD |
Abilita la protezione guard flusso di controllo. |
/HEAP |
Imposta le dimensioni in byte dell'heap. |
/HIGHENTROPYVA |
Specifica il supporto per la funzionalità ASLR a 64 bit a entropia elevata. |
/IDLOUT |
Specifica il nome del .idl file e altri file di output MIDL. |
/IGNORE |
Disattiva l'output degli avvisi del linker specificati. |
/IGNOREIDL |
Impedisce l'elaborazione delle informazioni sugli attributi in un .idl file. |
/ILK |
Esegue l'override del nome del file di database incrementale predefinito. |
/IMPLIB |
Esegue l'override del nome predefinito della libreria di importazione. |
/INCLUDE |
Impone di includere riferimenti al simbolo. |
/INCREMENTAL |
Controlla il collegamento incrementale. |
/INFERASANLIBS |
Usa librerie di purificazione dedotte. |
/INTEGRITYCHECK |
Specifica che il modulo richiede una verifica della firma in fase di caricamento. |
/KERNEL |
Creare un file binario in modalità kernel. |
/KEYCONTAINER |
Specifica un contenitore di chiavi per firmare un assembly. |
/KEYFILE |
Specifica una chiave o una coppia di chiavi per firmare un assembly. |
/LARGEADDRESSAWARE |
Indica al compilatore che l'applicazione supporta indirizzi superiori a 2 gigabyte |
/LIBPATH |
Specifica un percorso da cercare prima del percorso della libreria dell'ambiente. |
/LINKREPRO |
Specifica un percorso in cui generare gli artefatti di riproduzione dei collegamenti. |
/LINKREPROFULLPATHRSP |
Genera un file di risposta contenente i percorsi assoluti per tutti i file che il linker ha preso come input. |
/LINKREPROTARGET |
Genera una riproduzione del collegamento solo quando si produce la destinazione specificata.16.1 |
/LTCG |
Specifica la generazione del codice in fase di collegamento. |
/MACHINE |
Specifica la piattaforma di destinazione. |
/MANIFEST |
Crea un file manifesto side-by-side e facoltativamente lo incorpora nel file binario. |
/MANIFESTDEPENDENCY |
Specifica una <sezione dependentAssembly> nel file manifesto. |
/MANIFESTFILE |
Modifica il nome predefinito del file manifesto. |
/MANIFESTINPUT |
Specifica un file di input del manifesto che il linker deve elaborare e incorporare nel file binario. Questa opzione si può usare più volte per specificare più file di input del manifesto. |
/MANIFESTUAC |
Specifica se le informazioni di Controllo dell'account utente sono incorporate nel manifesto del programma. |
/MAP |
Crea un file MAP. |
/MAPINFO |
Include le informazioni specificate nel file di mapping. |
/MERGE |
Combina le sezioni. |
/MIDL |
Specifica opzioni della riga di comando MIDL. |
/NATVIS |
Aggiunge i visualizzatori del debugger da un file Natvis al database del programma (PDB). |
/NOASSEMBLY |
Disattiva la creazione di un assembly .NET Framework. |
/NODEFAULTLIB |
Ignora tutte le librerie predefinite (o quelle specificate) durante la risoluzione dei riferimenti esterni. |
/NOENTRY |
Crea una DLL di sole risorse. |
/NOFUNCTIONPADSECTION |
Disabilita la spaziatura interna delle funzioni per le funzioni nella sezione specificata.17.8 |
/NOLOGO |
Evita la visualizzazione del messaggio di avvio. |
/NXCOMPAT |
Indica che è stato eseguito il test di un eseguibile per verificarne la compatibilità con la funzionalità Protezione esecuzione programmi di Windows. |
/OPT |
Controlla le ottimizzazioni di LINK. |
/ORDER |
Inserisce COMDAT nell'immagine secondo un ordine predeterminato. |
/OUT |
Specifica il nome del file di output. |
/PDB |
Crea un file PDB. |
/PDBALTPATH |
Usa un percorso alternativo per salvare un file PDB. |
/PDBSTRIPPED |
Crea un file PDB senza simboli privati. |
/PGD |
Specifica un .pgd file per le ottimizzazioni guidate dal profilo. |
/POGOSAFEMODE |
Obsoleto Crea una compilazione PGO thread-safe instrumentata. |
/PROFILE |
Produce un file di output che può essere usato con il profiler di Strumenti per le prestazioni. |
/RELEASE |
Imposta il checksum nell'intestazione .exe . |
/SAFESEH |
Specifica che l'immagine conterrà una tabella di gestori eccezioni sicuri. |
/SECTION |
Esegue l'override gli attributi di una sezione. |
/SOURCELINK |
Specifica un file SourceLink da aggiungere al PDB. |
/STACK |
Imposta le dimensioni in byte dello stack. |
/STUB |
Connette un programma stub MS-DOS a un programma Win32. |
/SUBSYSTEM |
Indica al sistema operativo come eseguire il .exe file. |
/SWAPRUN |
Indica al sistema operativo di copiare l'output del linker in un file di scambio prima dell'esecuzione. |
/TIME |
Le informazioni di intervallo del linker di output passano. |
/TLBID |
Specifica l'ID di risorsa della libreria dei tipi generata dal linker. |
/TLBOUT |
Specifica il nome del .tlb file e altri file di output MIDL. |
/TSAWARE |
Crea un'applicazione specificamente progettata per l'esecuzione in Terminal Server. |
/USEPROFILE |
Usa i dati di training di ottimizzazione guidata dal profilo per creare un'immagine ottimizzata. |
/VERBOSE |
Visualizza i messaggi di stato del linker. |
/VERSION |
Assegna un numero di versione. |
/WHOLEARCHIVE |
Include ogni file oggetto dalle librerie statiche specificate. |
/WINMD |
Abilita la generazione di un file di metadati di Windows Runtime. |
/WINMDFILE |
Specifica il nome file per il file di output dei metadati di Windows Runtime (winmd) generato dall'opzione /WINMD del linker. |
/WINMDKEYFILE |
Specifica una chiave o una coppia di chiavi per firmare un file di metadati di Windows Runtime. |
/WINMDKEYCONTAINER |
Specifica un contenitore di chiavi per firmare un file di metadati di Windows Runtime. |
/WINMDDELAYSIGN |
Firma parzialmente un file di metadati di Windows Runtime (.winmd ) inserendo la chiave pubblica nel file winmd. |
/WX |
Considera gli avvisi del linker come errori. |
16.1 Questa opzione è disponibile a partire da Visual Studio 2019 versione 16.1.
17.8 Questa opzione è disponibile a partire da Visual Studio 2022 versione 17.8.
Vedi anche
Riferimenti alla compilazione in C/C++
Informazioni di riferimento sul linker MSVC