Opzioni del compilatore elencate in ordine alfabetico
Questa tabella contiene un elenco alfabetico delle opzioni del compilatore. Per un elenco delle opzioni del compilatore per categoria, vedere l'articolo Opzioni del compilatore elencate per categoria .
Opzioni del compilatore
Opzione | Scopo |
---|---|
@ |
Specifica un file di risposta. |
/? |
Elenca le opzioni del compilatore. |
/AI<dir> |
Specifica una directory in cui eseguire la ricerca per risolvere i riferimenti ai file passati alla #using direttiva . |
/analyze |
Attiva l'analisi del codice |
/arch |
Requisiti minimi dell'architettura della CPU. |
/arm64EC |
Generare codice compatibile con l'ABI arm64EC. |
/await |
Abilitare le estensioni coroutine (funzioni ripristinabili). |
/await:strict |
Abilitare il supporto coroutine C++20 standard con le versioni precedenti del linguaggio. |
/bigobj |
Aumenta il numero di sezioni indirizzabili in un file con estensione obj. |
/C |
Conserva i commenti durante la pre-elaborazione. |
/c |
Effettua la compilazione senza collegamento. |
/cgthreads |
Specifica il numero di thread cl.exe da usare per l'ottimizzazione e la generazione del codice. |
/clr |
Genera un file di output da eseguire in Common Language Runtime. |
/clr:implicitKeepAlive- |
Disattivare l'emissione implicita di System::GC::KeepAlive(this) . |
/clr:initialAppDomain |
Abilitare il comportamento iniziale di AppDomain di Visual C++ 2002. |
/clr:netcore |
Produrre assembly destinati al runtime di .NET Core. |
/clr:noAssembly |
Non produrre un assembly. |
/clr:nostdimport |
Non importare in modo implicito gli assembly necessari. |
/clr:nostdlib |
Ignorare la directory .NET Framework di sistema durante la ricerca di assembly. |
/clr:pure |
Produrre un file di output solo IL (nessun codice eseguibile nativo). |
/clr:safe |
Produrre un file di output verificabile solo IL. |
/constexpr:backtrace<N> |
Mostra N constexpr valutazioni nella diagnostica (impostazione predefinita: 10). |
/constexpr:depth<N> |
Limite di profondità di ricorsione per constexpr la valutazione (impostazione predefinita: 512). |
/constexpr:steps<N> |
Terminare constexpr la valutazione dopo N passaggi (impostazione predefinita: 100000) |
/D<name>{=|#}<text> |
Definisce costanti e macro. |
/diagnostics |
Formato di diagnostica: stampa le informazioni sulle colonne. |
/diagnostics:caret[-] |
Formato di diagnostica: stampa la colonna e la riga di origine indicata. |
/diagnostics:classic |
Usare il formato di diagnostica legacy. |
/doc |
Elabora commenti sulla documentazione in un file XML. |
/E |
Copia l'output del preprocessore in un output standard. |
/EHa |
Abilitare la gestione delle eccezioni C++ (con eccezioni SEH). |
/EHc |
Il valore predefinito di extern "C" è nothrow . |
/EHr |
Generare noexcept sempre controlli di terminazione del runtime. |
/EHs |
Abilitare la gestione delle eccezioni C++ (nessuna eccezione SEH). |
/EP |
Copia l'output del preprocessore in un output standard. |
/errorReport |
Deprecato. le impostazioni di Segnalazione errori Windows (WER) controllano la segnalazione degli errori. |
/execution-charset |
Impostare il set di caratteri di esecuzione. |
/experimental:log |
Abilita l'output SARIF strutturato sperimentale. |
/experimental:module |
Abilita il supporto sperimentale dei moduli. |
/exportHeader |
Creare i file delle unità di intestazione (.ifc ) specificati dagli argomenti di input. |
/external:anglebrackets |
Considera tutte le intestazioni incluse tramite <> come esterno. |
/external:env:<var> |
Specificare una variabile di ambiente con percorsi di intestazioni esterne. |
/external:I <path> |
Specificare il percorso delle intestazioni esterne. |
/external:templates[-] |
Valutare il livello di avviso nella catena di creazione di istanze del modello. |
/external:W<n> |
Impostare il livello di avviso per le intestazioni esterne. |
/F |
Imposta la dimensione dello stack. |
/FA |
Configura un file di listato dell'assembly. |
/Fa |
Crea un file di listato dell'assembly. |
/fastfail |
Abilitare la modalità di errore rapido. |
/favor:<blend|AMD64|INTEL64|ATOM> |
Genera codice ottimizzato per un'architettura specifica o per una gamma di architetture. |
/FC |
Visualizza il percorso completo dei file di codice sorgente passati a cl.exe nel testo di diagnostica. |
/Fd |
Rinomina il file del database di programma. |
/Fe |
Rinomina il file eseguibile. |
/feature |
Abilitare le funzionalità dell'architettura.17.10 |
/FI<file> |
Pre-elabora il file di inclusione specificato. |
/Fi |
Specifica il nome del file di output pre-elaborato. |
/Fm |
Crea un file MAP. |
/Fo |
Crea un file oggetto. |
/Fp |
Specifica un nome del file di intestazione precompilato. |
/fp:contract |
Prendere in considerazione le contrazioni a virgola mobile durante la generazione di codice. |
/fp:except[-] |
Prendere in considerazione le eccezioni a virgola mobile durante la generazione di codice. |
/fp:fast |
Modello a virgola mobile "veloce" ; i risultati sono meno prevedibili. |
/fp:precise |
modello a virgola mobile "precise" ; i risultati sono prevedibili. |
/fp:strict |
Modello a virgola mobile "strict" (implica /fp:except ). |
/fpcvt:BC |
Conversione da virgola mobile compatibile con le versioni precedenti a interi senza segno. |
/fpcvt:IA |
Intel a virgola mobile nativa a un comportamento di conversione integer senza segno. |
/FR , /Fr |
Nome dei file del browser generati .sbr . /Fr è stato deprecato. |
/FS |
Forza la serializzazione delle scritture nel file PDB tramite MSPDBSRV.EXE. |
/fsanitize |
Abilita la compilazione della strumentazione di purificazione, ad esempio AddressSanitizer. |
/fsanitize-coverage |
Abilita la compilazione della strumentazione code coverage per librerie come LibFuzzer. |
/Ft<dir> |
Percorso dei file di intestazione generati per #import . |
/FU<file> |
Forza l'uso di un nome di file, come se fosse stato passato alla #using direttiva . |
/Fx |
Unisce il codice inserito al file di origine. |
/GA |
Ottimizza per le applicazioni Windows. |
/Gd |
Usa la convezione di chiamata __cdecl . (solo x86) |
/Ge |
Deprecato. Attiva le ricerche dello stack. |
/GF |
Attiva la condivisione delle stringhe. |
/GH |
Chiama la funzione hook _pexit . |
/Gh |
Chiama la funzione hook _penter . |
/GL[-] |
Attiva l'ottimizzazione dell'intero programma. |
/Gm[-] |
Deprecato. Attiva una ricompilazione minima. |
/GR[-] |
Attiva RTTI (Run-Time Type Information). |
/Gr |
Usa la convezione di chiamata __fastcall . (solo x86) |
/GS[-] |
Controlla la sicurezza del buffer. |
/Gs[n] |
Controlla le ricerche dello stack. |
/GT |
Supporta l'indipendenza da fiber per i dati allocati usando l'archiviazione locale di thread statici. |
/Gu[-] |
Assicurarsi che le funzioni distinte abbiano indirizzi distinti. |
/guard:cf[-] |
Aggiunge controlli di sicurezza guard del flusso di controllo. |
/guard:ehcont[-] |
Abilita i metadati di continuazione EH. |
/Gv |
Usa la convezione di chiamata __vectorcall . (solo x86 e x64) |
/Gw[-] |
Abilita l'ottimizzazione dei dati globale per l'intero programma |
/GX[-] |
Deprecato. Attiva la gestione sincrona delle eccezioni. Utilizzare invece /EH . |
/Gy[-] |
Attiva il collegamento a livello di funzione. |
/GZ |
Deprecato. Abilita controlli veloci. (Uguale a /RTC1 ) |
/Gz |
Usa la convezione di chiamata __stdcall . (solo x86) |
/H |
Deprecato. Limita la lunghezza dei nomi esterni (pubblici). |
/headerName |
Compilare un'unità di intestazione dall'intestazione specificata. |
/headerUnit |
Specificare dove trovare il file dell'unità di intestazione (.ifc ) per l'intestazione specificata. |
/HELP |
Elenca le opzioni del compilatore. |
/homeparams |
Forza la scrittura di parametri passati nei registri nei rispettivi percorsi nello stack quando vengono immesse funzioni. Questa opzione del compilatore è solo per i compilatori x64 (compilazione nativa e incrociata). |
/hotpatch |
Crea un'immagine su cui è applicabile una hot patch |
/I<dir> |
Ricerca i file di inclusione in una directory. |
/ifcOutput |
Specificare il nome o la directory del file di output per i file compilati .ifc . |
/interface |
Considerare il file di input come unità di interfaccia del modulo. |
/internalPartition |
Considerare il file di input come un'unità di partizione interna. |
/J |
Modifica il tipo char predefinito. |
/jumptablerdata |
Inserire le tabelle di salto dell'istruzione switch case nella .rdata sezione . |
/JMC |
Supporta il debug nativo di C++ Just My Code. |
/kernel |
Il compilatore e il linker creano un file binario che può essere eseguito nel kernel di Windows. |
/LD |
Crea una libreria a collegamento dinamico. |
/LDd |
Crea una libreria a collegamento dinamico di debug. |
/link |
Passa l'opzione specificata a LINK. |
/LN |
Crea un oggetto MSIL .netmodule . |
/MD |
Compila per creare una DLL multithreading usando MSVCRT.lib. |
/MDd |
Compila per creare una DLL multithreading di debug usando MSVCRTD.lib. |
/MP |
Compila contemporaneamente più file di origine. |
/MT |
Compila per creare un file eseguibile multithreading usando LIBCMT.lib. |
/MTd |
Compila per creare un file eseguibile multithreading di debug usando LIBCMTD.lib. |
/nologo |
Evita la visualizzazione dell'intestazione di iscrizione. |
/O1 |
Effettua creazioni in base alla dimensione del codice. |
/O2 |
Effettua creazioni in base alla velocità del codice. |
/Ob<n> |
Controlla l'espansione inline. |
/Od |
Disabilita l'ottimizzazione. |
/Og |
Deprecato. Usa le ottimizzazioni globali. |
/Oi[-] |
Genera funzioni intrinseche. |
/openmp |
Abilita #pragma omp nel codice sorgente. |
/openmp:experimental |
Abilitare le estensioni del linguaggio OpenMP 2.0 e selezionare OpenMP 3.0+ estensioni del linguaggio. |
/openmp:llvm |
Estensioni del linguaggio OpenMP che usano il runtime LLVM. |
/options:strict |
Le opzioni del compilatore non riconosciute sono errori. |
/Os |
Ottimizza per dimensione codice. |
/Ot |
Ottimizza per velocità codice. |
/Ox |
Subset di /O2 che non include /GF o /Gy. |
/Oy |
Omette i puntatori ai frame. (solo x86) |
/P |
Scrive l'output del preprocessore in un file. |
/PD |
Stampa tutte le definizioni di macro. |
/permissive[-] |
Impostare la modalità di conformità standard. |
/PH |
Genera #pragma file_hash durante la pre-elaborazione. |
/presetPadding |
Inizializzare zero spaziatura interna per i tipi di classe basati su stack. |
/Qfast_transcendentals |
Genera funzioni trascendenti veloci. |
/QIfist |
Deprecato. Disattiva la chiamata della funzione helper _ftol quando è necessario eseguire una conversione da un tipo a virgola mobile a un tipo integrale. (solo x86) |
/Qimprecise_fwaits |
Rimuove i comandi fwait all'interno dei blocchi try . |
/QIntel-jcc-erratum |
Riduce l'impatto sulle prestazioni dell'aggiornamento del microcodice Intel JCC erratum. |
/Qpar-report:<n> |
Abilita livelli di creazione rapporti per la parallelizzazione automatica. |
/Qpar |
Abilita la parallelizzazione automatica dei cicli. |
/Qsafe_fp_loads |
Usa istruzioni di spostamento Integer per i valori a virgola mobile e disabilita determinate ottimizzazioni di carico a virgola mobile. |
/Qspectre[-] |
Abilitare le mitigazioni per CVE 2017-5753 per una classe di attacchi Spectre. |
/Qspectre-load |
Generare istruzioni di serializzazione per ogni istruzione di caricamento. |
/Qspectre-load-cf |
Generare istruzioni di serializzazione per ogni istruzione del flusso di controllo che carica memoria. |
/Qvec-report:<n> |
Abilita livelli di creazione rapporti per la vettorializzazione automatica. |
/reference |
Usare il modulo denominato IFC. |
/RTC1 |
Abilitare i controlli di runtime rapidi (equivalente a /RTCsu ). |
/RTCc |
Eseguire la conversione in controlli di tipo più piccoli in fase di esecuzione. |
/RTCs |
Abilitare i controlli di runtime dello stack frame. |
/RTCu |
Abilita controlli di utilizzo locali non inizializzati. |
/scanDependencies |
Elencare le dipendenze del modulo in formato JSON standard C++. |
/sdl |
Abilitare altre funzionalità e avvisi di sicurezza. |
/showIncludes |
Visualizza un elenco di tutti i file di inclusione durante la compilazione. |
/source-charset |
Impostare il set di caratteri di origine. |
/sourceDependencies |
Elencare tutte le dipendenze a livello di origine. |
/sourceDependencies:directives |
Elencare le dipendenze del modulo e dell'unità di intestazione. |
/std:c++14 |
C++14 standard ISO/IEC 14882:2014 (impostazione predefinita). |
/std:c++17 |
C++17 standard ISO/IEC 14882:2017. |
/std:c++20 |
C++20 standard ISO/IEC 14882:2020. |
/std:c++latest |
Le funzionalità di anteprima standard C++ più recenti. |
/std:c11 |
C11 standard ISO/IEC 9899:2011. |
/std:c17 |
C17 standard ISO/IEC 9899:2018. |
/std:clatest |
Le ultime funzionalità di anteprima standard C bozza. |
/TC |
Specifica che tutti i file di origine sono C. |
/Tc |
Specifica un file di origine C. |
/TP |
Specifica che tutti i file di origine sono C++. |
/Tp |
Specifica un file di origine C++. |
/translateInclude |
Considera #include come import . |
/U<name> |
Rimuove una macro predefinita. |
/u |
Rimuove tutte le macro predefinite. |
/utf-8 |
Impostare set di caratteri di origine ed esecuzione su UTF-8. |
/V |
Deprecato. Imposta la stringa di versione. |
/validate-charset |
Convalidare i file UTF-8 solo per i caratteri compatibili. |
/vd{0|1|2} |
Disabilita o abilita i membri della classe vtordisp nascosti. |
/vlen |
Specifica la lunghezza del vettore. |
/vmb |
Usa la base migliore per i puntatori ai membri. |
/vmg |
Usa la generalità completa per i puntatori ai membri. |
/vmm |
Dichiara l'ereditarietà multipla. |
/vms |
Dichiara l'ereditarietà singola. |
/vmv |
Dichiara l'ereditarietà virtuale. |
/volatile:iso |
Semantica di acquisizione/rilascio non garantita per gli accessi volatili. |
/volatile:ms |
Semantica di acquisizione/rilascio garantita per gli accessi volatili. |
/volatileMetadata |
Generare metadati per gli accessi alla memoria volatile. |
/w |
Disabilitare tutti gli avvisi. |
/W0 , /W1 , /W2 , /W3 /W4 |
Impostare il livello di avviso di output. |
/w1<n> , /w2<n> , /w3<n> /w4<n> |
Impostare il livello di avviso per l'avviso specificato. |
/Wall |
Abilitare tutti gli avvisi, inclusi gli avvisi disabilitati per impostazione predefinita. |
/wd<n> |
Disabilitare l'avviso specificato. |
/we<n> |
Considerare l'avviso specificato come errore. |
/WL |
Abilitare la diagnostica una riga per i messaggi di errore e di avviso durante la compilazione del codice sorgente C++ dalla riga di comando. |
/wo<n> |
Visualizzare l'avviso specificato una sola volta. |
/Wv:xx[.yy[.zzzzz]] |
Disabilitare gli avvisi introdotti dopo la versione specificata del compilatore. |
/WX |
Considerare gli avvisi come errori. |
/X |
Ignora la directory di inclusione standard. |
/Y- |
Ignora tutte le altre opzioni del compilatore dell'intestazione precompilata nella generazione corrente. |
/Yc |
Creare un .PCH file. |
/Yd |
Deprecato. Inserisce informazioni di debug complete in tutti i file oggetto. Utilizzare invece /Zi . |
/Yl |
Inserisce un riferimento PCH durante la creazione di una libreria di debug. |
/Yu |
Usa un file di intestazione precompilato durante la compilazione. |
/Z7 |
Genera informazioni di debug compatibili con C 7.0. |
/Za |
Disabilita alcune estensioni del linguaggio C89 nel codice C. |
/Zc:__cplusplus[-] |
Abilitare la __cplusplus macro per segnalare lo standard supportato (disattivato per impostazione predefinita). |
/Zc:__STDC__ |
Abilitare la __STDC__ macro per segnalare che lo standard C è supportato (disattivato per impostazione predefinita). |
/Zc:alignedNew[-] |
Abilitare l'allocazione dinamica sovraallineare C++17 (per impostazione predefinita in C++17). |
/Zc:auto[-] |
Applicare il nuovo significato C++ Standard per (attivato per auto impostazione predefinita). |
/Zc:char8_t[-] |
Abilitare o disabilitare il supporto dei valori letterali nativi u8 C++20 come const char8_t (disattivato per impostazione predefinita, ad eccezione di /std:c++20 ). |
/Zc:enumTypes[-] |
Abilitare le regole C++ standard per enum la deduzione del tipo (disattivata per impostazione predefinita). |
/Zc:externC[-] |
Applicare le regole C++ standard per extern "C" le funzioni (implicite da /permissive- ). |
/Zc:externConstexpr[-] |
Abilitare il collegamento esterno per constexpr le variabili (disattivato per impostazione predefinita). |
/Zc:forScope[-] |
Applicare le regole di definizione dell'ambito C++ for standard (per impostazione predefinita). |
/Zc:gotoScope |
Applicare regole C++ goto standard per l'inizializzazione delle variabili locali (implicita da /permissive- ). |
/Zc:hiddenFriend[-] |
Applicare le regole Friend nascoste C++ standard (implicite da /permissive- ) |
/Zc:implicitNoexcept[-] |
Abilitare l'implicito noexcept per le funzioni obbligatorie (attivato per impostazione predefinita). |
/Zc:inline[-] |
Rimuovere funzioni o dati non referenziati se sono COMDAT o hanno solo collegamenti interni (disattivati per impostazione predefinita). |
/Zc:lambda[-] |
Abilitare un nuovo processore lambda per controlli sintattici in modalità di conformità nelle espressioni lambda generiche. |
/Zc:noexceptTypes[-] |
Applicare le regole C++17 noexcept (per impostazione predefinita in C++17 o versione successiva). |
/Zc:nrvo[-] |
Abilitare le elisioni di copia e spostamento facoltative (per impostazione predefinita in /O2 , /permissive- o /std:c++20 versione successiva). |
/Zc:preprocessor[-] |
Usare il nuovo preprocessore conforme (disattivato per impostazione predefinita, ad eccezione di C11/C17). |
/Zc:referenceBinding[-] |
Un tipo definito dall'utente temporaneo non verrà associato a un riferimento lvalue non const (disattivato per impostazione predefinita). |
/Zc:rvalueCast[-] |
Applicare le regole di conversione esplicita dei tipi C++ standard (disattivate per impostazione predefinita). |
/Zc:sizedDealloc[-] |
Abilitare le funzioni di deallocazione con dimensioni globali C++14 (per impostazione predefinita). |
/Zc:strictStrings[-] |
Disabilitare la conversione o wchar_t* il valore letterale char* stringa (disattivato per impostazione predefinita). |
/Zc:templateScope[-] |
Applicare le regole di ombreggiatura dei parametri del modello C++ standard (disattivate per impostazione predefinita). |
/Zc:ternary[-] |
Applicare le regole dell'operatore condizionale sui tipi di operando (disattivato per impostazione predefinita). |
/Zc:threadSafeInit[-] |
Abilitare l'inizializzazione statica locale thread-safe (attivata per impostazione predefinita). |
/Zc:throwingNew[-] |
Si supponga di operator new generare un'eccezione in caso di errore (disattivata per impostazione predefinita). |
/Zc:tlsGuards[-] |
Generare controlli di runtime per l'inizializzazione delle variabili TLS (per impostazione predefinita). |
/Zc:trigraphs |
Abilitare i trigrammi (obsoleto, disattivato per impostazione predefinita). |
/Zc:twoPhase[-] |
Usare il comportamento di analisi dei modelli non conformi (conforme per impostazione predefinita). |
/Zc:wchar_t[-] |
wchar_t è un tipo nativo, non un typedef (attivato per impostazione predefinita). |
/Zc:zeroSizeArrayNew[-] |
Chiamare il membro new /delete per matrici di oggetti di dimensioni zero (per impostazione predefinita). |
/Ze |
Deprecato. Abilita le estensioni del linguaggio C89. |
/Zf |
Migliora il tempo di generazione PDB nelle compilazioni parallele. |
/ZH:[MD5|SHA1|SHA_256] |
Specifica MD5, SHA-1 o SHA-256 per i checksum nelle informazioni di debug. |
/ZI |
Include informazioni di debug in un database di programma compatibile con Modifica e continuazione. (solo x86) |
/Zi |
Genera informazioni di debug complete. |
/Zl |
Rimuove il nome predefinito della libreria dal .obj file. |
/Zm |
Specifica il limite di allocazione di memoria delle intestazioni precompilate. |
/Zo[-] |
Generare informazioni di debug più avanzate per il codice ottimizzato. |
/Zp[n] |
Comprime i membri della struttura. |
/Zs |
Controlla solo la sintassi. |
/ZW |
Produce un file di output da eseguire in Windows Runtime. |
17.10 Questa opzione è disponibile a partire da Visual Studio 2022 versione 17.10.
Vedi anche
Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC