Udostępnij za pośrednictwem


inline_depth

Określa głębokość wyszukiwania wbudowanej heurystyki, taką, że żadna funkcja nie będzie wbudowana, jeśli jest na głębokości (na wykresie wywołania) większej niż n.

#pragma inline_depth( [n] )

Uwagi

Ta dyrektywa steruje wbudowywaniem funkcji oznaczonych inline i __inline lub wbudowanych automatycznie przez opcję /Ob2.

n może przyjąć wartość między 0 i 255, gdzie 255 oznacza nieograniczoną głębokość na wykresie wywołania a zero zatrzymuje wbudowywanie. Gdy n nie zostanie określone, używana jest wartość domyślna (254).

Dyrektywa Inline_depth kontroluje liczbę razy o jakie serie wywołań funkcji mogą zostać rozszerzone.Na przykład jeśli głębokość wbudowania wynosi cztery a A wywołuje B a B wywołuje C, wszystkie wywołania będą wbudowane.Jednak jeśli najbliższe wbudowane rozwijanie to dwa, tylko A i B będą rozwinięte a C pozostanie jako wywołanie funkcji.

Aby użyć tej dyrektywy, należy ustawić opcję kompilatora /Ob na 1 lub 2.Głębokość ustawiona przy użyciu tej dyrektywy staje się skuteczna w pierwszym wywołaniu funkcji po dyrektywie.

Głębokość wbudowywania można zmniejszyć w trakcie rozwijania ale nie można jej zwiększyć.Jeśli głębokość wbudowywania wynosi sześć i podczas rozszerzania preprocesor napotka dyrektywę inline_depth z wartością osiem głębokość będzie dalej wynosić sześć.

Dyrektywa Inline_depth nie ma wpływu na funkcje oznaczone jako __forceinline.

[!UWAGA]

Funkcje rekurencyjne mogą być zamienione na wbudowane z maksymalną głębokością wywołań równą 16.

Zobacz też

Informacje

Dyrektywy pragma i słowo kluczowe __Pragma

inline_recursion