Sdílet prostřednictvím


inline_depth

Určuje hloubku vloženého heuristického hledání tak, že nebude vložena žádná funkce, nachází-li se v hloubce (v grafu volání) větší než n.

#pragma inline_depth( [n] )

Poznámky

Tato direktiva pragma řídí vkládání funkcí označených klíčovým slovem inline a __inline nebo vložených automaticky při použití možnosti /Ob2.

Parametr n může nabývat hodnoty mezi 0 a 255, kde 255 znamená neomezenou hloubku v grafu volání a nula zakazuje rozšiřování vkládáním. Není-li parametr n zadán, je použita výchozí hodnota (254).

Direktiva pragma inline_depth řídí počet, kolikrát lze řadu volání funkcí rozbalit.Je-li například hloubka vkládání čtyři a zavolá-li funkce A funkci B a funkce B zavolá funkci C, budou všechna tři volání rozbalena po vložení.Je-li však nejbližší počet rozbalení dva, jsou rozbaleny pouze funkce A a B a funkce C bude nadála volána.

Chcete-li tuto direktivu pragma používat, je zapotřebí nastavit možnost kompilátoru /Ob na hodnotu 1 nebo 2.Nastavení hloubky pomocí této direktivy pragma se projeví při prvním volání funkce za direktivou.

Během rozbalování lze hloubku vkládání snížit, ne však zvýšit.Je-li hloubka vkládání nastavena na hodnotu šest a během rozbalování preprocesor nalezne direktivu pragma inline_depth s hodnotou osm, hloubka zůstává na hodnotě šest.

Direktiva pragma inline_depth nemá žádný vliv na funkce označené klíčovým slovem __forceinline.

[!POZNÁMKA]

Rekurzivní funkce mohou být nahrazeny vložením do maximální hloubky 16 volání.

Viz také

Referenční dokumentace

Direktivy Pragma a klíčové slovo __Pragma

inline_recursion