inline_depth
pragma
Określa wewnętrzną głębokość wyszukiwania heurystycznego. Funkcje w głębi grafu wywołań większe niż określona wartość nie są podkreślone.
Składnia
#pragma inline_depth(
[ n ])
Uwagi
Steruje to pragma tworzeniem podwzorców funkcji oznaczonych jako inline
i __inline
, lub pod opcją kompilatora /Ob
. Aby uzyskać więcej informacji, zobacz /Ob
(Rozszerzanie funkcji wbudowanej).
n może być wartością z zakresu od 0 do 255, gdzie 255 oznacza nieograniczoną głębokość wykresu wywołań. Wartość 0 hamuje rozszerzanie wbudowane. Jeśli n nie zostanie określony, zostanie użyta wartość domyślna 254.
Kontrolki inline_depth
pragma liczebności serii wywołań funkcji można rozszerzyć. Załóżmy na przykład, że głębokość śródliniowa wynosi 4. Jeśli A wywołuje B, a następnie B wywołuje język C, wszystkie trzy wywołania są rozwinięte w tekście. Jednak jeśli najbliższe rozszerzenie głębokości wbudowanej wynosi 2, tylko A i B są rozwinięte, a C pozostaje jako wywołanie funkcji.
Aby użyć tego pragmaelementu , należy ustawić opcję kompilatora na 1 lub nowszą /Ob
. Zestaw głębokości używający tej pragma metody ma wpływ na pierwsze wywołanie funkcji po wywołaniu pragma.
Głębokość śródliniowa można zmniejszyć podczas rozszerzania, ale nie zwiększać. Jeśli głębokość śródliniowa wynosi 6, a podczas rozszerzania preprocesor napotka inline_depth
pragma wartość 8, głębokość pozostaje 6.
Element inline_depth
pragma nie ma wpływu na funkcje oznaczone znakiem __forceinline
.
Uwaga
Funkcje rekursywne można zastąpić śródliniową maksymalną głębokością 16 wywołań.
Zobacz też
Pragmadyrektywy i __pragma
słowa kluczowe i _Pragma
inline_recursion