/O1, /O2 (Riduci dimensione, Ottimizza velocità)
Seleziona un insieme predefinito di opzioni che influiscono sulle dimensioni e la velocità dei file.
/O1
/O2
Note
Nella tabella riportata di seguito vengono descritte le opzioni /O1 e /O2.
Opzione |
Equivalente di |
Commento |
---|---|---|
/O1 (Riduci dimensione) |
/Og /Os /Oy /Ob2 /Gs /GF /Gy |
Crea il codice di dimensioni più piccole nella maggior parte dei casi. |
/O2 (Ottimizza velocità) |
/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy |
Crea il codice più veloce nella maggior parte dei casi. Si tratta dell'impostazione predefinita per le build di rilascio. |
Le opzioni /O1 e /O2 attivano inoltre l'ottimizzazione del valore restituito denominato, che elimina il distruttore e il costruttore di copia di un valore restituito basato sullo stack. Si consideri l'esempio riportato di seguito. La funzione Test non creerà il distruttore né il costruttore di copia. Per esaminare gli effetti dell'ottimizzazione del valore restituito denominato durante l'esecuzione del programma, aggiungere istruzioni di output al costruttore, al distruttore e al costruttore di copia. Per ulteriori informazioni sull'ottimizzazione del valore restituito denominato in Visual C++, visitare il sito Web all'indirizzo https://go.microsoft.com/fwlink?linkid=55900.
// O1_O2_NRVO.cpp
// compile with: /O1
struct A {
A() {}
~A() {}
A(const A& aa) {}
};
A Test() {
A a;
return a;
}
int main() {
A aa;
aa = Test();
}
Specifico dei processori x86
Tali opzioni presuppongono l'utilizzo dell'opzione Omissione dei puntatori ai frame (/Oy).
END x86 Specific
Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Fare clic sulla cartella C/C++.
Fare clic sulla pagina delle proprietà Ottimizzazione.
Modificare la proprietà Ottimizzazione.
Per impostare l'opzione del compilatore a livello di codice
- Vedere la proprietà Optimization.