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.