/Ob (Inlinefunktionserweiterung)

Steuert die Inlineerweiterung von Funktionen. Bei der Optimierung erfolgt die Erweiterung standardmäßig nach Ermessen des Compilers für alle Funktionen, die häufig als automatisches Inlining bezeichnet werden.

Syntax

/Ob{0|1|2|3}

/Ob{0|1|2}

Argumente

0
Der Standardwert unter "/Od". Deaktiviert Inline-Erweiterungen.

1
Ermöglicht die Erweiterung nur von Funktionen, die inline, __inline oder __forceinline gekennzeichnet sind, oder in einer in einer Klassendeklaration definierten C++-Memberfunktion.

2
Der Standardwert unter "/O1 " und "/O2". Ermöglicht dem Compiler, jede Funktion zu erweitern, die nicht explizit ohne Inlining gekennzeichnet ist.

3
Diese Option gibt aggressiveres Inlining als /Ob2 an, hat jedoch die gleichen Einschränkungen. Die Option "/Ob3 " ist ab Visual Studio 2019 verfügbar.

Hinweise

Der Compiler behandelt die Inlineerweiterungsoptionen und -Schlüsselwörter als Vorschläge. Es gibt keine Garantie dafür, dass jede Funktion inline erweitert wird. Sie können Inlineerweiterungen deaktivieren, aber Sie können nicht erzwingen, dass der Compiler eine bestimmte Funktion inline einbezieht, auch wenn Sie das __forceinline Schlüsselwort verwenden.

Um Funktionen als Kandidaten für die Inlineerweiterung auszuschließen, können Sie __declspec(noinline) oder eine Region verwenden, die durch #pragma auto_inline(off) und #pragma auto_inline(on)-Direktiven gekennzeichnet ist. Weitere Informationen zur Bereitstellung von Hinweisen zum Compiler finden Sie in der #pragma systeminternen Direktive.

Hinweis

Informationen, die aus Profilerstellungstests gesammelt werden, überschreiben Optimierungen, die andernfalls wirksam wären, weil Sie /Ob, /Os oder /Ot angegeben haben. Weitere Informationen finden Sie unter Profilgesteuerte Optimierungen.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Wählen Sie die Konfigurationseigenschaftenseite>C/C++>-Optimierung aus.

  3. Ändern Sie die Inline-Funktionserweiterungseigenschaft .

Die Option "/Ob3 " ist in der Inline-Funktionserweiterungseigenschaft nicht verfügbar. So legen Sie /Ob3 fest:

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

  3. Geben Sie "/Ob3 " in "Zusätzliche Optionen" ein.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

/O-Optionen (Code optimieren)
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile