Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le seguenti pagine delle proprietà si trovano sotto Progetto>Proprietà>Proprietà di configurazione>C/C++:
Proprietà generali C/C++
Percorsi di inclusione aggiuntivi
Specifica una o più directory da aggiungere al percorso di inclusione. Separare le directory con punti e virgola ('';) se sono presenti più directory. Imposta l'opzione del /I compilatore (Directory di inclusione aggiuntive).
Directory aggiuntive #using
Specifica una o più directory in cui eseguire la ricerca per risolvere i nomi passati a una #using direttiva. Separare le directory con punti e virgola ('';) se sono presenti più directory. Imposta l'opzione del /AI compilatore.
Cartelle BMI aggiuntive
Specifica una o più directory in cui eseguire la ricerca per risolvere i nomi passati a una import direttiva. Separare le directory con punti e virgola ('';) se sono presenti più directory. Imposta l'opzione del /ifcSearchDir[path] compilatore.
Dipendenze aggiuntive del modulo
Specifica uno o più moduli da usare per risolvere i nomi passati a una direttiva import. Separare le directory con punti e virgola ('';) se sono presenti più directory. Imposta l'opzione del /reference compilatore.
Dipendenze aggiuntive dell'unità di intestazione
Specifica una o più unità di intestazione da utilizzare per risolvere i nomi passati a una import direttiva di intestazione. Separare le directory con punti e virgola ('';) se sono presenti più directory. Imposta l'opzione del /headerUnit compilatore.
Analizzare le sorgenti per le dipendenze dei moduli
Se impostato su Sì, il compilatore analizza tutte le sorgenti C++, non solo le sorgenti di interfacce modulo e unità header, per le dipendenze di moduli e unità header. Il sistema di compilazione compila il grafico delle dipendenze completo, che garantisce che tutti i moduli importati e le unità di intestazione vengano compilati prima di compilare i file che dipendono da essi. Quando è combinato con Translate Includes to Imports, qualunque file di intestazione specificato in un file header-units.json nella stessa directory del file di intestazione viene compilato in un'unità di intestazione.
I file con estensione .ixx e i file con le relative proprietà del file>C/C++> impostate su Compile AsCompile as C++ Header Unit (/exportHeader) vengono sempre analizzati.
Traduci "Include" da "Imports"
Se impostato su Sì, il compilatore considera una #include direttiva come import direttiva se vengono soddisfatte determinate condizioni: il file di intestazione viene specificato in un header-units.json file nella stessa directory e un'unità di intestazione compilata (un .ifc file) è disponibile per il file di intestazione. In caso contrario, il file di intestazione viene considerato come normale #include. Il header-units.json file viene usato per creare unità di intestazione per ognuna #include senza duplicazione dei simboli. Quando combinato con Scansione delle sorgenti per le dipendenze del modulo, il compilatore trova automaticamente tutti i file header che possono essere compilati in unità di intestazione. Questa proprietà imposta l'opzione del /translateInclude compilatore.
Formato delle informazioni di debug
Specifica il tipo di informazioni di debug generate dal compilatore. Questa proprietà richiede impostazioni del linker compatibili. Imposta le opzioni del compilatore /Z7, /Zi, /ZI (formato delle informazioni di debug).
Scelte
- Nessuno: non produce informazioni di debug, quindi la compilazione può risultare più veloce.
- Compatibile con C7: selezionare il tipo di informazioni di debug create per il programma e se queste informazioni vengono mantenute in file oggetto (.obj) o in un database di programma (PDB).
- Program Database - Produce un database dei programmi (PDB) che contiene informazioni sui tipi e di debug simbolico da utilizzare con il debugger. Le informazioni di debug simbolico includono i nomi e i tipi di variabili e funzioni e i numeri di riga.
- Database di programma per Edit e Continue: produce un database di programma, come descritto in precedenza, in un formato che supporta la funzionalità Edit e Continue.
Supportare solo il debug del codice
Aggiunge il codice di supporto per l'abilitazione del debug Just My Code in questa unità di compilazione. Imposta /JMC.
Supportare il debug dinamico C++
(Anteprima) Imposta il flag /dynamicdeopt del compilatore per attivare il debug dinamico C++. Posizionare punti di interruzione deoptimizzati e passare ovunque con la deoptimizzazione della funzione su richiesta. Usare questa modalità per il debug di codice ottimizzato.
Supporto RunTime di Common Language
Usare il servizio runtime .NET. Questa opzione non è compatibile con altri commutatori; per informazioni dettagliate, vedere la documentazione sulla /clr famiglia di opzioni.
Scelte
- Nessun supporto Common Language Runtime - Nessun supporto Common Language Runtime
- Supporto per il Common Language Runtime - crea metadati per l'applicazione che possono essere consumati da altre applicazioni CLR. Consente inoltre all'applicazione di utilizzare tipi e dati nei metadati di altri componenti CLR.
- Puro supporto RunTime di Common Language MSIL: produce un file di output solo MSIL senza codice eseguibile nativo, anche se può contenere tipi nativi compilati in MSIL.
- Supporto Common Language Runtime MSIL sicuro: produce solo MSIL (nessun codice eseguibile nativo) e un file di output verificabile.
Uso dell'estensione di Windows Runtime
Utilizzare le estensioni dei linguaggi di runtime di Windows. Imposta /ZW.
Sopprimere il banner di avvio
Sopprime la visualizzazione del banner di login all'avvio del compilatore e la visualizzazione dei messaggi informativi durante la compilazione.
Livello di allerta
Specifica il grado di severità del controllo effettuato dal compilatore per trovare gli errori del codice. Imposta /W0 - /W4.
Scelte
- Disattiva tutti gli avvisi: il livello 0 disabilita tutti gli avvisi.
- Level1 : il livello 1 visualizza avvisi gravi. Il livello 1 è il livello di avviso predefinito nella riga di comando.
- Level2 : il livello 2 visualizza tutti gli avvisi di livello 1 e gli avvisi meno gravi del livello 1.
- Level3 : il livello 3 visualizza tutti gli avvisi di livello 2 e tutti gli altri avvisi consigliati per scopi di produzione.
- Level4 - Livello 4 visualizza tutti gli avvisi di livello 3 e gli avvisi informativi, che nella maggior parte dei casi possono essere ignorati in modo sicuro.
- EnableAllWarnings : abilita tutti gli avvisi, inclusi quelli disabilitati per impostazione predefinita.
Considera gli avvisi come errori
Considera gli avvisi del compilatore come errori. Per un nuovo progetto, può essere preferibile usare /WX in ogni compilazione. Risolvere tutti gli avvisi per ridurre al minimo i difetti del codice difficili da trovare.
Versione di avviso
Nascondere gli avvisi introdotti dopo una versione specifica del compilatore. Imposta /Wv:xx[.yy[.zzzzz]].
Formato diagnostico
Abilita una diagnostica dettagliata, inclusi informazioni sulle colonne e il contesto di origine nei messaggi diagnostici.
Scelte
- Caret - Fornisce informazioni sulla colonna nel messaggio diagnostico. Restituisce inoltre la riga di codice sorgente pertinente con un cursore che indica la colonna che causa l'errore.
- Informazioni sulla colonna: fornisce inoltre il numero di colonna all'interno della riga in cui viene eseguita la diagnostica, se applicabile.
- Classico : restituisce solo i messaggi diagnostici precedenti e concisi con il numero di riga.
Controlli SDL
Controlli consigliati aggiuntivi del ciclo di vita dello sviluppo della sicurezza (SDL); include l'abilitazione di funzionalità di generazione di codice sicure aggiuntive e abilita avvisi aggiuntivi rilevanti per la sicurezza come errori. Imposta /sdl, /sdl-.
Compilazione a più processori
Abilitare la compilazione multiprocessore. Imposta l'opzione del /MP compilatore.
Abilitare Address Sanitizer
Compila e collega il programma con la strumentazione AddressSanitizer. Questa proprietà supporta attualmente le build di destinazione x86 e x64. Imposta l'opzione del /fsanitize compilatore.
Abilitare il supporto fuzzer (sperimentale)
Compila i programmi con Fuzzer. Abilitare AddressSanitizer per ottenere risultati ottimali. Attualmente disponibile per le build x86 e x64. Imposta /fsanitize=fuzzer.
Proprietà di ottimizzazione C/C++
Ottimizzazione
Selezionare l'opzione per l'ottimizzazione del codice; scegliere Personalizzato per usare opzioni di ottimizzazione specifiche. Imposta /Od, /O1, /O2.
Scelte
- Personalizzato - Ottimizzazione personalizzata.
- Disabilitato: disabilita l'ottimizzazione.
-
Ottimizzazione massima (dimensioni favori) - Equivalente a
/Os /Oy /Ob2 /Gs /GF /Gy -
Ottimizzazione massima (velocità di favore) - Equivalente a
/Oi /Ot /Oy /Ob2 /Gs /GF /Gy -
Ottimizzazioni (privilegiare la velocità) - Equivalente a
/Oi /Ot /Oy /Ob2
Espansione della funzione "inline"
Selezionare il livello di espansione della funzione inlinea per la compilazione. Imposta /Ob.
Scelte
- Predefinita
- Disabilitato : disabilita l'espansione inline, attiva per impostazione predefinita.
-
Solo __inline : espande solo le funzioni contrassegnate come
inline,__forceinlineo__inline. In alternativa, in una funzione membro C++, definita all'interno di una dichiarazione di classe. -
Qualsiasi funzione adatta : espande le funzioni contrassegnate come
inlineo__inlinee qualsiasi altra funzione scelta dal compilatore. L'espansione si verifica a discrezione del compilatore, spesso denominata autoinlining.
Abilitare funzioni intrinseche
Abilita le funzioni intrinseche. L'uso di funzioni intrinseche genera più velocemente codice, ma possibilmente più grande. Imposta /Oi.
Favorisce dimensioni o velocità
Se si preferisce dimensioni del codice o velocità del codice: 'Ottimizzazione globale' deve essere attivata. Imposta /Ot, /Os.
Scelte
- Prediligi codice di piccole dimensioni : riduce al minimo le dimensioni di EXEs e DLL indicando al compilatore di favorire le dimensioni rispetto alla velocità.
- Prediligi il codice rapido: ottimizza la velocità di EXEs e DLL indicando al compilatore di favorire la velocità rispetto alle dimensioni. Questo valore è il valore predefinito.
- Nessuno dei due : nessuna dimensione e ottimizzazione della velocità.
Omettere puntatori di frame
Disabilita la creazione di puntatori ai frame nello stack di chiamate.
Abilitare ottimizzazioni sicure per la fibra
Abilita l'ottimizzazione dello spazio di memoria quando si usano fibre e l'accesso all'archiviazione locale del thread. Imposta /GT.
Ottimizzazione dell'intero programma
Abilita le ottimizzazioni tra moduli posticipando la generazione del codice fino al momento del collegamento. Richiede l'opzione linker Link Time Code Generation( Generazione del codice tempo di collegamento). Imposta /GL.
Proprietà del preprocessore C/C++
Definizioni del preprocessore
Definisce i simboli di pre-elaborazione per il file origine.
Rimuovi definizioni per il preprocessore
Specifica uno o più annullamenti di definizioni del preprocessore. Imposta /U.
Rimuovi tutte le definizioni per il preprocessore
Rimuove tutti i valori precedentemente definiti per il preprocessore. Imposta /u.
Ignora percorsi di inclusione standard
Impedisce al compilatore di cercare i file di inclusione nelle directory specificate nelle variabili di ambiente INCLUDE.
Pre-elaborazione in un file
Pre-elabora i file di origine C e C++ e scrive l'output pre-elaborato in un file. Questa opzione elimina la compilazione e non produce un .obj file.
Pre-elaborazione Elimina numeri di riga
Pre-elaborazione senza direttive #line.
Mantieni commenti
Elimina i commenti dal codice sorgente; richiede l'impostazione di almeno una delle opzioni di Preprocessing. Imposta /C.
Usare il preprocessore conforme allo standard
Usare un preprocessore conforme allo standard (/Zc:preprocessor). Attualmente implicite in /std:c11 e versioni successive. Per usare il preprocessore legacy, impostare questa proprietà su 'No'.
Proprietà di generazione del codice C/C++
Abilitare il pool di stringhe
Il compilatore crea una sola copia di sola lettura di stringhe identiche nell'immagine del programma. Genera programmi più piccoli, un'ottimizzazione denominata raggruppamento di stringhe.
/O1, /O2 e /ZI imposta /GF automaticamente l'opzione.
Abilitare la ricompilazione minima
Abilita la ricompilazione minima, che determina se ricompilare i file di origine C++ che includono definizioni di classe C++ modificate, archiviate nei file di intestazione .h .
Abilita eccezioni C++
Specifica il modello di gestione delle eccezioni che deve essere usato dal compilatore.
Scelte
-
Sì con eccezioni SEH: modello di gestione delle eccezioni che rileva le eccezioni asincrone (strutturate) e sincrone (C++). Imposta
/EHa. -
Sì : modello di gestione delle eccezioni che rileva solo le eccezioni C++ e indica al compilatore di presupporre che le funzioni C extern non generino mai un'eccezione C++. Imposta
/EHsc. -
Sì con funzioni C extern: il modello di gestione delle eccezioni che intercetta solo le eccezioni C++ e indica al compilatore di presupporre che le funzioni C extern generino un'eccezione. Imposta
/EHs. - No: nessuna gestione delle eccezioni.
Controllo dei tipi più piccoli
Abilitare il controllo della conversione in tipi più piccoli, incompatibili con qualsiasi tipo di ottimizzazione diverso dal debug. Imposta /RTCc.
Controlli di runtime di base
Abilitare i controlli degli errori di runtime di base, incompatibili con qualsiasi tipo di ottimizzazione diverso dal debug. Imposta /RTCs, /RTCu, /RTC1.
Scelte
- Stack Frame : abilita il controllo degli errori di runtime dello stack frame.
- Variabili non inizializzate: segnala quando viene usata una variabile senza essere stata inizializzata.
-
Entrambi (/RTC1, equiv. a /RTCsu) - Equivalente di
/RTCsu. - Impostazione predefinita : controlli di runtime predefiniti.
Libreria di runtime
Specifica la libreria di runtime per il collegamento. Imposta /MT, /MTd, /MD, /MDd.
Scelte
- Multi-threaded: fa sì che l'applicazione usi la versione multithread statica della libreria di run-time.
-
Debug multithread: definisce
_DEBUGe_MT. Questa opzione fa in modo che il compilatore inserisca il nomeLIBCMTD.libdella libreria nel.objfile in modo che il linker useràLIBCMTD.libper risolvere i simboli esterni. -
DLL multithreaded: impone all'applicazione di utilizzare la versione specifica per il multithread e la DLL della libreria di runtime. Definisce
_MTe_DLLfa in modo che il compilatore inserisca il nome della libreria MSVCRT.lib nel.objfile. -
DLL di Debug Multithread: definisce
_DEBUG,_MTe_DLLe fa in modo che l'applicazione usi la versione specifica del debug multithread e della DLL della libreria di runtime. Fa inoltre in modo che il compilatore inserisca il nomeMSVCRTD.libdella libreria nel.objfile.
Allineamento membri Struct
Specifica i limiti di 1, 2, 4 o 8 byte per l'allineamento dei membri dello struct. Imposta /Zp.
Scelte
-
1 Byte - Comprime le strutture su confini di un byte Uguale a
/Zp. - 2 Byte : crea pacchetti di strutture su limiti a due byte.
- 4 byte: allinea le strutture su confini di quattro byte.
- 8 byte - Allinea le strutture su limiti di otto byte (impostazione predefinita).
- 16 byte : crea pacchetti di strutture su limiti di sedici byte.
- Impostazione predefinita : impostazioni di allineamento predefinite.
Controllo di sicurezza
Il controllo di sicurezza facilita il rilevamento di sovraccarichi del buffer di stack, un attacco comunemente tentato alla sicurezza di un programma.
Scelte
-
Disabilita controllo di sicurezza: consente di disabilitare il controllo di sicurezza. Imposta
/GS-. -
Abilita controllo di sicurezza: consente di abilitare il controllo di sicurezza. Imposta
/GS.
Protezione del flusso di controllo
Il controllo di sicurezza della protezione consente di rilevare i tentativi di invio a blocchi di codice non validi.
Scelte
-
Sì : abilitare il controllo della sicurezza con i set
/guard:cfdi protezione . - No
Abilita collegamento a livello di funzione
Consente al compilatore di assemblare le singole funzioni sotto forma di funzioni incluse nel pacchetto (COMDAT). Impostazione necessaria per le operazioni di modifica e continuazione. Imposta /Gy.
Abilitare la generazione di codice parallelo
Consente al compilatore di generare codice parallelo per i cicli identificati usando #pragma loop(hint_parallel[(n)]) quando l'ottimizzazione è abilitata.
Abilitare il set di istruzioni avanzato
Abilitare l'uso delle istruzioni disponibili nei processori che supportano set di istruzioni avanzati. Ad esempio, i miglioramenti di SSE, SSE2, AVX e AVX2 a IA-32. Inoltre, i miglioramenti di AVX e AVX2 a x64. Attualmente /arch:SSE e /arch:SSE2 sono disponibili solo quando si compila per l'architettura x86. Se non viene specificata alcuna opzione, il compilatore usa le istruzioni disponibili nei processori che supportano SSE2. L'uso di istruzioni avanzate può essere disabilitato con /arch:IA32. Per altre informazioni, vedere/arch (x86), /arch (x64), /arch (ARM64)e /arch (ARM).
Scelte
-
Streaming SIMD Extensions - Streaming SIMD Extensions. Imposta
/arch:SSE -
Streaming SIMD Extensions 2 - Streaming SIMD Extensions 2. Imposta
/arch:SSE2 -
Estensioni vettoriali avanzate - Estensioni vettoriali avanzate. Imposta
/arch:AVX -
Estensioni vettoriali avanzate 2 - Estensioni vettoriali avanzate 2. Imposta
/arch:AVX2 -
Nessuna istruzione migliorata - nessuna istruzione migliorata. Imposta
/arch:IA32 - Non impostato : non impostato.
Abilita lunghezza vettore
Abilitare la scelta della lunghezza del vettore per i flag /arch:AVX512 e /arch:AVX10.x. I valori consentiti sono 256 e 512 bit (X86/X64).
Modello a virgola mobile
Imposta il modello a virgola mobile. Imposta /fp:precise, /fp:strict, /fp:fast.
Scelte
- Preciso - Impostazione predefinita. Migliora la coerenza dei test a virgola mobile per verificare l'uguaglianza e la disuguaglianza.
-
Strict - il modello a virgola mobile più rigoroso.
/fp:strictfp_contractfa sì che sia OFF efenv_accessche sia ON./fp:exceptè implicito e può essere disabilitato specificando in modo esplicito/fp:except-. Se usato con/fp:except-,/fp:strictapplica una semantica a virgola mobile rigorosa ma senza rispetto per gli eventi eccezionali. - Veloce : crea il codice più veloce nella maggior parte dei casi.
Abilitare le eccezioni a virgola mobile
Modello di eccezione a virgola mobile affidabile. Le eccezioni verranno generate immediatamente dopo l'attivazione. Imposta /fp:except.
Creare un'immagine hotpatchable
Quando l'hotpatching è attivo, il compilatore garantisce che la prima istruzione di ogni funzione sia di due byte, come richiesto per l'hotpatching. Imposta /hotpatch.
Mitigazione Spectre
Misure di mitigazione per Spectre CVE 2017-5753. Imposta /Qspectre.
Scelte
- Abilitata - Abilitare la funzionalità di mitigazione Spectre per CVE 2017-5753
- Disabilitato : non impostato.
Abilitare la mitigazione Intel JCC Erratum
Mitigazione software per l'impatto sulle prestazioni causato dall'aggiornamento del microcodice Intel JCC erratum. Imposta /QIntel-jcc-erratum.
Abilitare i metadati di continuazione EH
Genera un elenco ordinato di tutte le destinazioni valide di continuazione per la gestione delle eccezioni per un file binario, usato durante il runtime per la convalida RIP. Attualmente disponibile per le build x64. Imposta /guard:ehcont.
Abilitare i ritorni firmati
Abilita le restituzioni firmate che consentono di rilevare e impedire tentativi di invio a blocchi non autorizzati dai ritorni di funzione. Attualmente disponibile per le build ARM64. Imposta /guard:signret.
Proprietà del linguaggio C/C++
Disabilitare le estensioni del linguaggio
Elimina o abilita le estensioni del linguaggio. Imposta /Za.
Considerare WChar_t come tipo predefinito
Quando specificato, il tipo wchar_t diventa un tipo nativo che mappa a __wchar_t allo stesso modo in cui short è mappato a __int16.
/Zc:wchar_t è attivato per impostazione predefinita.
Forzare la conformità nell'ambito del ciclo For
Implementa il comportamento standard del C++ per le istruzioni di loop for con le estensioni Microsoft. Imposta /Za, /Ze (disabilita le estensioni del linguaggio.
/Zc:forScope è attivato per impostazione predefinita.
Rimuovere codice e dati non referenziati
Se specificato, il compilatore non genera più informazioni sui simboli per il codice e i dati non referenziati.
Applicare regole di conversione dei tipi
Usato per identificare un tipo di riferimento rvalue come risultato di un'operazione di cast in base allo standard C++11.
Abilita informazioni sui tipi in fase di esecuzione
Aggiunge il codice per controllare i tipi di oggetto C++ in fase di esecuzione (informazioni sul tipo di runtime o RTTI). Imposta /GR, /GR-.
Aprire il supporto mp
Abilita le estensioni del linguaggio OpenMP 2.0. Imposta /openmp.
Standard del linguaggio C++
Determina lo standard del linguaggio C++ abilitato dal compilatore. Il valore predefinito non imposta un'opzione standard, quindi il compilatore usa l'impostazione predefinita C++14. Se si seleziona un valore specifico, l'opzione del compilatore corrispondente /std viene impostata.
Scelte
- Impostazione predefinita (ISO C++14 Standard)
- ISO C++14 Standard (/std:c++14)
- ISO C++17 Standard (/std:c++17)
- ISO C++20 Standard (/std:c++20)
- Anteprima - ISO C++23 Standard (/std:c++23preview)
- Anteprima- Funzionalità della bozza di lavoro C++ più recente (/std:c++latest)
Standard del linguaggio C
Determina lo standard del linguaggio C abilitato dal compilatore. Il valore predefinito non imposta un'opzione standard, quindi il compilatore usa l'impostazione MSVC legacy predefinita. Se si seleziona un valore specifico, l'opzione del compilatore corrispondente /std viene impostata.
Scelte
- Impostazione predefinita (MSVC legacy)
- ISO C11 Standard (/std:c11)
- ISO C17 (2018) Standard (/std:c17)
- Anteprima - Funzionalità della bozza di lavoro C più recente (/std:clatest)
Modalità di conformità
Abilita o elimina la modalità di conformità. Imposta /permissive-.
Abilitare moduli della libreria standard C++ sperimentale
Supporto sperimentale per i moduli della libreria standard e i moduli TS di C++.
Compilare moduli della libreria standard ISO C++23
A partire da Visual Studio 17.6, quando questa proprietà è abilitata e C++ Language Standard è impostata su /std:c++latest, i progetti Microsoft C++ trovano e compilano automaticamente moduli della libreria standard ISO C++23. In questo modo è possibile o import stdimport std.compat nel codice C++.
Proprietà delle intestazioni precompilate di C/C++
Crea/Usa Intestazione Precompilata
Abilita la creazione o l'uso di un'intestazione precompilata durante la compilazione. Imposta /Yc, /Yu.
Scelte
-
Create : indica al compilatore di creare un file di intestazione precompilato (
.pch) che rappresenta lo stato della compilazione in un determinato punto. -
Use : indica al compilatore di usare un file di intestazione precompilato esistente (
.pch) nella compilazione corrente. - Not Using Precompiled Headers (Non uso di intestazioni precompilate) - Non usando intestazioni precompilate.
File di intestazione precompilato
Specifica il nome del file di intestazione da utilizzare durante la creazione o l'uso di un file di intestazione precompilato. Imposta /Yc, /Yu.
File di output dell'intestazione precompilato
Specifica il percorso o il nome del file di intestazione precompilato generato. Imposta /Fp.
Proprietà dei file di output C/C++
Espandi fonte attribuita
Creare un file di elenco con attributi espansi inseriti nel file di origine. Imposta /Fx.
Risultato dell'assembler
Specifica il contenuto del file di output in linguaggio assembly. Imposta /FA, /FAc, /FAs, /FAcs.
Scelte
- Nessuna inserzione- Nessuna inserzione.
-
Elenco solo assemblaggio - Codice assemblaggio;
.asm -
Assembly con codice macchina - Codice macchina e assembly;
.cod -
Assembly e codice sorgente - Codice sorgente e codice assembly;
.asm -
Assembly, Codice macchina e codice sorgente - Assembly, codice macchina e codice sorgente;
.cod
Usare Unicode per l'elenco dell'assembler
Fa sì che il file di output venga creato in formato UTF-8.
Posizione elenco ASM
Specifica un percorso relativo o un nome per il file di listato ASM; può essere un nome di file o di directory. Imposta /Fa.
Nome file di output del modulo
Percorso del file BMI (Module or header unit output); può essere il nome di file o directory. Imposta /ifcOutput[name].
Nome del file delle dipendenze del modulo
Specifica il percorso e/o il nome del file di dipendenze del modulo generato. Imposta /scanDependencies[path].
Nome file dell'oggetto
Consente di specificare un nome usato per eseguire l'override del nome del file oggetto predefinito. Può essere un nome di file o di directory. Imposta /Fo.
Nome del file del database del programma
Specifica un nome per un file PDB generato dal compilatore; specifica anche il nome di base per il file IDB generato dal compilatore richiesto; può essere il nome di file o directory. Imposta /Fd.
Generare file di documentazione XML
Specifica che il compilatore deve generare file di commento della documentazione XML (. XDC). Imposta /doc.
Nome file della documentazione XML
Specifica il nome dei file di documentazione XML generati; può essere il nome di file o directory. Imposta /doc:<il nome>.
Genera file di dipendenze di origine
Genera un file JSON con l'elenco di tutti i file usati dal compilatore per la compilazione dell'origine. Imposta /sourceDependencies.
Nome del file delle dipendenze sorgente
Specifica il percorso e/o il nome del file di dipendenze di origine generato. Imposta /sourceDependencies[path].
Proprietà di esplorazione delle informazioni C/C++
Abilitare informazioni di navigazione
Specifica il livello di informazioni di esplorazione nel file .bsc. Imposta /FR.
Esplora file di informazioni
Specifica il nome facoltativo per il file di informazioni del browser. Imposta /FR<il nome>.
Proprietà incluse esterne C/C++
Trattare i file inclusi con parentesi angolari come esterni
Specifica se trattare i file inclusi tra parentesi angolari come esterni. Impostare questa proprietà su Sì per impostare l'opzione del /external:anglebrackets compilatore.
Livello di avviso per l'intestazione esterna
Seleziona quanto rigoroso si desidera che il compilatore sia riguardo agli errori di codice nelle intestazioni esterne. Questa proprietà imposta l'opzione del /external:Wn compilatore. Se questo valore è impostato su Eredita livello di avviso del progetto o su quello predefinito, le altre /external opzioni vengono ignorate.
Diagnostica dei template nelle intestazioni esterne
Specifica se valutare il livello di avviso in una catena di istanziazione del modello. Impostare questa proprietà su Sì per impostare l'opzione del /external:templates- compilatore.
Disabilitare l'analisi del codice per gli header esterni
Disabilita l'analisi del codice per le intestazioni esterne. Imposta l'opzione del /analyze:external- compilatore.
Set di regole di analisi per header esterni
Specifica un override del set di regole di analisi del codice per le intestazioni esterne. Se non specificato, viene utilizzata l'impostazione Analisi codice. Imposta l'opzione del /analyze:external:ruleset path compilatore.
Proprietà avanzate C/C++
Convenzione di chiamata
Selezionare la convenzione di chiamata predefinita per l'applicazione (può essere sottoposta a override dalla funzione). Imposta /Gd, /Gr, /Gz, /Gv.
Scelte
-
__cdecl- Specifica la__cdeclconvenzione di chiamata per tutte le funzioni tranne le funzioni membro C++ e le funzioni contrassegnate__stdcallo__fastcall. -
__fastcall- Specifica la__fastcallconvenzione di chiamata per tutte le funzioni tranne le funzioni membro C++ e le funzioni contrassegnate__cdeclo__stdcall. Tutte le funzioni__fastcalldevono avere prototipi. -
__stdcall- Specifica la__stdcallconvenzione di chiamata per tutte le funzioni tranne le funzioni membro C++ e le funzioni contrassegnate__cdeclo__fastcall. Tutte le funzioni__stdcalldevono avere prototipi. -
__vectorcall- Specifica la convenzione di__vectorcallchiamata per tutte le funzioni tranne le funzioni membro C++ e le funzioni contrassegnate come__cdecl,__fastcallo__stdcall. Tutte le funzioni__vectorcalldevono avere prototipi.
Compila come
Selezionare l'opzione di compilazione per la lingua dei file di origine. Imposta /TC, /TP, /interface, /internalPartition, o /exportHeader opzioni.
Scelte
- Predefinita: impostazione predefinita.
-
Compila come codice C (
/TC): compila i file di origine specificati come codice C. Per impostazione predefinita, i file con estensione.cvengono compilati come C. -
Compila come codice C++ (
/TP): compila i file di origine specificati come codice C++. Per impostazione predefinita, tutti i file di origine che non dispongono di un'estensione.c,.ixx.cppm,.ho non sono compilati come C++. -
Compila come codice del modulo C++ (
/interface): compila i file di origine specificati come codice del modulo C++. Per impostazione predefinita, i file con un'estensione.ixxo.cppmvengono compilati come codice del modulo C++. -
Compila come partizione interna del modulo C++ (
/internalPartition): compila i file di origine specificati come partizione interna del modulo C++. -
Compila come unità di intestazione C++ (
/exportHeader): compila i file di origine specificati come unità di intestazione C++. Per impostazione predefinita, i file con estensione.ho nessuna estensione vengono compilati come unità di intestazione.
Disabilitare avvisi specifici
Disabilitare i numeri di avviso specificati. Inserire i numeri di avviso in un elenco delimitato da punti e virgola. Imposta /wd<il numero>.
File forzato di inclusione
Uno o più file di inclusione il cui uso è forzato. Imposta /FI<il nome>.
File #using obbligato
Specifica uno o più file "#using" forzati. Imposta /FU<il nome>.
Mostra inclusioni
Genera un elenco di file di inclusione con l'output del compilatore. Imposta /showIncludes.
Usare percorsi completi
Usare percorsi completi nei messaggi di diagnostica. Imposta /FC.
Omettere il nome predefinito della libreria
Non include nomi di libreria predefiniti nei .obj file. Imposta /Zl.
Segnalazione errori interni del compilatore
Nota
Questa opzione è deprecata. A partire da Windows Vista, la segnalazione degli errori è controllata dalle impostazioni di Segnalazione errori Windows (WER).
Considerare avvisi specifici come errori
Considera l'avviso del compilatore specifico come un errore in cui n è un avviso del compilatore.
Opzioni aggiuntive
Opzioni aggiuntive.