inline_depth
pragma
Задает встроенную эвристическую глубину поиска. Функции на глубине графа вызовов больше указанного значения не встраиваются.
Синтаксис
#pragma inline_depth(
[ n ])
Замечания
Это pragma управляет встраиванием функций, помеченных inline
и __inline
(или) автоматически встраиванием в параметр компилятора /Ob
. Дополнительные сведения см. в разделе /Ob
(расширение встроенной функции).
n может быть значением от 0 до 255, где 255 означает неограниченную глубину в графе вызовов. Значение 0 препятствует встроенному расширению. Если значение n не указано, используется значение по умолчанию 254.
Элементы inline_depth
pragma управления числом раз, когда можно развернуть ряд вызовов функций. Например, предположим, что встроенная глубина составляет 4. Если A вызывает B, а затем B вызывает C, все три вызова развернуты встроенные. Тем не менее, если ближайшее встроенное расширение глубины равно 2, развертываются только A и B, а C остается вызовом функции.
Для этого pragmaнеобходимо задать для компилятора /Ob
значение 1 или более поздней версии. Набор глубин, использующий этот pragma параметр, вступает в силу при первом вызове функции после pragma.
Встроенная глубина может быть уменьшена во время расширения, но не увеличена. Если встроенная глубина составляет 6, а во время расширения препроцессор встречает inline_depth
pragma значение 8, глубина остается 6.
Не inline_depth
pragma влияет на функции, помеченные как __forceinline
.
Примечание.
Подстановка для рекурсивных функций выполняется на глубину не более 16 вызовов.
См. также
Pragma директивы и ключевые __pragma
_Pragma
слова
inline_recursion