Proprietà C/C++ (Linux C++)
Il supporto per Linux è disponibile in Visual Studio 2017 e versioni successive.
Generali
Proprietà | Descrizione | Choices |
---|---|---|
Directory di inclusione aggiuntive | Specifica una o più directory da aggiungere al percorso di inclusione. Usare il punto e virgola per separare più directory. (-I[path]). | |
Formato informazioni di debug | Specifica il tipo di informazioni di debug generate dal compilatore. | Nessuno: non produce informazioni di debug, quindi la compilazione può risultare più veloce. Informazioni minime di debug: genera informazioni minime di debug. Informazioni di debug complete (DWARF2): genera informazioni di debug DWARF2. |
Nome file oggetto | Specifica un nome con cui eseguire l'override del nome del file oggetto predefinito. Può essere un nome di file o directory. (-o [name]). | |
Livello avvisi | Seleziona il grado di severità del controllo eseguito dal compilatore per trovare gli errori del codice. Aggiungere altri flag direttamente a Opzioni aggiuntive. (/w, /Weverything). | Disattiva tutti gli avvisi: disabilita tutti gli avvisi del compilatore. Abilita tutti gli avvisi: abilita tutti gli avvisi, inclusi quelli disabilitati per impostazione predefinita. |
Considera gli avvisi come errori | Considera tutti gli avvisi del compilatore come errori. Per un nuovo progetto, potrebbe essere preferibile usare /Werror in tutte le compilazioni. La risoluzione di tutti gli avvisi garantirà il minor numero possibile di errori del codice di difficile individuazione. | |
Avvisi C aggiuntivi | Consente di definire un set di messaggi di avviso aggiuntivi. | |
Avvisi C++ aggiuntivi | Consente di definire un set di messaggi di avviso aggiuntivi. | |
Abilita modalità dettagliata | Quando è abilitata la modalità dettagliata, vengono restituite maggiori informazioni per la diagnosi della compilazione. | |
Compilatore C | Consente di specificare il programma da richiamare durante la compilazione di file di origine C oppure il percorso del compilatore C nel sistema remoto. | |
Compilatore C++ | Consente di specificare il programma da richiamare durante la compilazione di file di origine C++ oppure il percorso del compilatore C++ nel sistema remoto. | |
Timeout compilazione | Timeout di compilazione remota in millisecondi. | |
Copia file oggetto | Consente di specificare se copiare i file oggetto compilati dal sistema remoto al computer locale. | |
Numero massimo di processi di compilazione parallela | Numero di processi da creare in parallelo durante la compilazione. Il valore predefinito è 1. Se si usa sottosistema Windows per Linux (WSL) versione 1, il limite è 64. | |
Convalida architettura | Specificare se verificare se la piattaforma di destinazione del progetto corrisponde al sistema remoto. | |
Abilitare Address Sanitizer | Compilare il programma con Address Sanitizer, che è un rilevatore di errori di memoria veloce in grado di individuare problemi di memoria di runtime, ad esempio l'uso senza utilizzo e l'esecuzione di controlli fuori limiti. |
Ottimizzazione
Proprietà | Descrizione | Choices |
---|---|---|
Ottimizzazione | Specifica il livello di ottimizzazione per l'applicazione. | Personalizzato: consente di personalizzare l'ottimizzazione. Disabilitato: disabilita l'ottimizzazione. Riduci dimensione: ottimizza in base alla dimensione. Ottimizza velocità: ottimizza in base alla velocità. Ottimizzazione completa: ottimizzazioni onerose. |
Aliasing restrittivo | Presuppone le regole di aliasing più restrittive. Non si presuppone mai che un oggetto di un tipo abbia lo stesso indirizzo di un oggetto di un tipo diverso. | |
Srotola cicli | Lo srotolamento dei cicli consente di velocizzare l'applicazione riducendo il numero di rami eseguiti, ma implica un aumento delle dimensioni del codice. | |
Ottimizzazione fase di collegamento | L'abilitazione delle ottimizzazioni tra routine consente all'utilità di ottimizzazione di esaminare i file oggetto dell'applicazione. | |
Ometti puntatore ai frame | Disabilita la creazione di puntatori ai frame nello stack di chiamate. | |
Senza blocchi comuni | Consente di allocare anche variabili globali non inizializzate nella sezione dati del file oggetto, invece di generarle come blocchi comuni. |
Preprocessore
Proprietà | Descrizione |
---|---|
Definizioni del preprocessore | Definisce i simboli di pre-elaborazione per il file origine. (-D) |
Rimuovi definizioni per il preprocessore | Rimuove una o più definizioni per il preprocessore. (-U [macro]) |
Rimuovi tutte le definizioni per il preprocessore | Rimuove tutti i valori precedentemente definiti per il preprocessore. (-undef) |
Mostra inclusioni | Indica al compilatore di generare un elenco dei file di inclusione. (-H) |
Generazione di codice
Proprietà | Descrizione | Choices |
---|---|---|
Codice indipendente dalla posizione | Genera codice indipendente dalla posizione per l'uso in una libreria condivisa. | |
Elementi statici thread-safe | Crea codice aggiuntivo per usare routine specificate in ABI C++ per l'inizializzazione thread-safe di elementi statici locali. | No: disabilita gli elementi statici thread-safe. Sì: abilita gli elementi statici thread-safe. |
Ottimizzazione virgola mobile | Abilita le ottimizzazioni a virgola mobile riducendo la conformità IEEE-754. | |
Metodi inline nascosti | Se è abilitato, le copie fuori linea dei metodi inline vengono dichiarati come private extern . |
|
Simboli nascosti per impostazione predefinita | Tutti i simboli vengono dichiarati come private extern a meno che non siano contrassegnati in modo esplicito per l'esportazione tramite la macro __attribute . |
|
Abilita eccezioni C++ | Specifica il modello di gestione delle eccezioni usato dal compilatore. | No: disabilita la gestione delle eccezioni. Sì: abilita la gestione delle eccezioni. |
Lingua
Proprietà | Descrizione | Choices |
---|---|---|
Abilita informazioni sui tipi in fase di esecuzione | Aggiunge codice per il controllo dei tipi di oggetto C++ in fase di esecuzione (informazioni sui tipi in fase di esecuzione). (frtti, fno-rtti) | |
Standard del linguaggio C | Determina lo standard del linguaggio C. | Predefinita C89: standard del linguaggio C89. C99: standard del linguaggio C99. C11: standard del linguaggio C11. C99 (dialetto GNU): standard del linguaggio C99 (dialetto GNU). C11 (dialetto GNU): standard del linguaggio C11 (dialetto GNU). |
Standard del linguaggio C++ | Determina lo standard del linguaggio C++. | Predefinita C++03: standard del linguaggio C++03. C++11: standard del linguaggio C++11. C++14: standard del linguaggio C++14. C++03 (dialetto GNU): standard del linguaggio C++03 (dialetto GNU). C++11 (dialetto GNU): standard del linguaggio C++11 (dialetto GNU). C++14 (dialetto GNU): standard del linguaggio C++14 (dialetto GNU). |
Avanzato
Proprietà | Descrizione | Choices |
---|---|---|
Compila come | Seleziona il linguaggio di compilazione per i file con estensione c e cpp. (-x c, -x c++) | Valore predefinito: viene rilevato in base all'estensione c o cpp. Compila come codice C: viene compilato come codice C. Compila come codice C++: viene compilato come codice C++. |
File di inclusione forzati | Specifica uno o più file di inclusione forzati (-include [name]) |