Condividi tramite


/Ob (Espansione funzioni inline)

Controlla l'espansione inline delle funzioni. Per impostazione predefinita, quando si ottimizza, l'espansione si verifica a discrezione del compilatore su tutte le funzioni, spesso definite inlining automatico.

Sintassi

/Ob{0|1|2|3}

/Ob{0|1|2}

Argomenti

0
Valore predefinito in /Od. Disabilita le espansioni inline.

1
Consente l'espansione solo di funzioni contrassegnate inline, __inline o __forceinline o in una funzione membro C++ definita in una dichiarazione di classe.

2
Valore predefinito in /O1 e /O2. Consente al compilatore di espandere qualsiasi funzione non contrassegnata in modo esplicito per nessun inlining.

3
Questa opzione specifica l'inlining più aggressivo rispetto a /Ob2, ma presenta le stesse restrizioni. L'opzione /Ob3 è disponibile a partire da Visual Studio 2019.

Osservazioni:

Il compilatore considera come suggerimenti le opzioni di espansione inline e le parole chiave. Non esiste alcuna garanzia che qualsiasi funzione verrà espansa inline. È possibile disabilitare le espansioni inline, ma non è possibile forzare il compilatore a inline una determinata funzione, anche quando si usa la __forceinline parola chiave .

Per escludere le funzioni dalla considerazione come candidati per l'espansione inline, è possibile usare __declspec(noinline)o un'area contrassegnata da direttive #pragma auto_inline(off) e #pragma auto_inline(on). Per informazioni su un altro modo per fornire hint di inlining al compilatore, vedere la direttiva intrinseca #pragma.

Nota

Le informazioni raccolte dalle esecuzioni dei test di profilatura sostituiscono le ottimizzazioni che altrimenti verrebbero applicate perché è stato specificato /Ob, /Os o /Ot. Per altre informazioni, vedere Ottimizzazioni PGO.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle>proprietà Proprietà di configurazione C/C++>Optimization.

  3. Modificare la proprietà Espansione funzione inline.

L'opzione /Ob3 non è disponibile nella proprietà Espansione funzione inline. Per impostare /Ob3:

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Immettere /Ob3 in Opzioni aggiuntive.

Per impostare l'opzione del compilatore a livello di codice

Vedi anche

Opzioni /O (ottimizza codice)
Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC