Udostępnij za pośrednictwem


/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

  1. 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).

  2. Wybierz stronę właściwości>Właściwości konfiguracji C/C++>Optimization.

  3. Zmodyfikuj właściwość Rozszerzanie funkcji wbudowanej.

Opcja /Ob3 nie jest dostępna we właściwości Rozszerzanie funkcji wbudowanej. Aby ustawić /Ob3:

  1. 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).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. Wprowadź /Ob3 w obszarze Dodatkowe opcje.

Aby programowo ustawić tę opcję kompilatora

Zobacz też

/O Opcje (Optymalizuj kod)
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC