inline_depth pragma

Задает встроенную эвристическую глубину поиска. Функции на глубине графа вызовов больше указанного значения не встраиваются.

Синтаксис

#pragma inline_depth( [ n ] )

Замечания

Это pragma управляет встраиванием функций, помеченных inline и __inline(или) автоматически встраиванием в параметр компилятора /Ob . Дополнительные сведения см. в разделе /Ob (расширение встроенной функции).

n может быть значением от 0 до 255, где 255 означает неограниченную глубину в графе вызовов. Значение 0 препятствует встроенному расширению. Если значение n не указано, используется значение по умолчанию 254.

Элементы inline_depthpragma управления числом раз, когда можно развернуть ряд вызовов функций. Например, предположим, что встроенная глубина составляет 4. Если A вызывает B, а затем B вызывает C, все три вызова развернуты встроенные. Тем не менее, если ближайшее встроенное расширение глубины равно 2, развертываются только A и B, а C остается вызовом функции.

Для этого pragmaнеобходимо задать для компилятора /Ob значение 1 или более поздней версии. Набор глубин, использующий этот pragma параметр, вступает в силу при первом вызове функции после pragma.

Встроенная глубина может быть уменьшена во время расширения, но не увеличена. Если встроенная глубина составляет 6, а во время расширения препроцессор встречает inline_depthpragma значение 8, глубина остается 6.

Не inline_depthpragma влияет на функции, помеченные как __forceinline.

Примечание.

Подстановка для рекурсивных функций выполняется на глубину не более 16 вызовов.

См. также

Директивы Pragma и __pragma_Pragma ключевое слово
inline_recursion