/Ob (Rozszerzenie funkcji wbudowanej)
Steruje wbudowanym rozszerzaniem funkcji. Domyślnie podczas optymalizowania rozszerzenie występuje według uznania kompilatora dla wszystkich funkcji, często nazywanych automatycznym tworzeniem.
Składnia
/Ob{0|1|2|3}
/Ob{0|1|2}
Argumenty
0
Wartość domyślna w / Od. Wyłącza wbudowane rozszerzenia.
1
Umożliwia rozszerzanie tylko funkcji oznaczonych wbudowanymi, __inline lub __forceinline albo w funkcji składowej języka C++ zdefiniowanej w deklaracji klasy.
2
Wartość domyślna w / O1 i /O2. Umożliwia kompilatorowi rozwinięcie żadnej funkcji, która nie jest jawnie oznaczona w celu niewzwierania.
3
Ta opcja określa bardziej agresywne podkreślenie niż /Ob2, ale ma te same ograniczenia. Opcja /Ob3 jest dostępna począwszy od programu Visual Studio 2019.
Uwagi
Kompilator traktuje opcje rozszerzenia wbudowanego i słowa kluczowe jako sugestie. Nie ma gwarancji, że każda funkcja zostanie rozszerzona w tekście. Rozszerzenia wbudowane można wyłączyć, ale nie można wymusić, aby kompilator wymusił śródliniową funkcję, nawet w przypadku używania słowa kluczowego __forceinline
.
Aby wykluczyć funkcje z uwagi na kandydatów do rozszerzania wbudowanego, można użyć __declspec(noinline)lub regionu oznaczonego przez dyrektywy #pragma auto_inline(off) i #pragma auto_inline(on). Aby uzyskać informacje na temat innego sposobu dostarczania wskazówek dotyczących podkreślenia kompilatora, zobacz dyrektywę wewnętrzną #pragma .
Uwaga
Informacje zbierane z przebiegów testów profilowania zastępują optymalizacje, które w przeciwnym razie byłyby skuteczne, ponieważ określono /Ob, /Os lub /Ot. Aby uzyskać więcej informacji, zobacz Profile-Guided Optimizations (Optymalizacje sterowane profilem).
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę właściwości>Właściwości konfiguracji C/C++>Optimization.
Zmodyfikuj właściwość Rozszerzanie funkcji wbudowanej.
Opcja /Ob3 nie jest dostępna we właściwości Rozszerzanie funkcji wbudowanej. Aby ustawić /Ob3:
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
Wprowadź /Ob3 w obszarze Dodatkowe opcje.
Aby programowo ustawić tę opcję kompilatora
- Zobacz: InlineFunctionExpansion.
Zobacz też
/O Opcje (Optymalizuj kod)
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC