inline_depth

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

#pragma inline_depth( [n] )

Заметки

Эта прагма позволяет контролировать встраивание функций, помеченных Встроенная и __inline или встроенным автоматически с параметром /Ob2.

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

inline_depth директива pragma отслеживает количество раз последовательность вызовов функций можно развернуть.Например, если встроенная глубина 4, а B, если a вызывает B, а затем вызывает c, то все 3 вызова будет развернуть встроенным.Однако если ближайшее встроенное расширение 2, то только a и B и c остается развернут, что и вызов функции.

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

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

inline_depth прагма не влияет на функциях, отмеченных атрибутом __forceinline.

ПримечаниеПримечание

Рекурсивные функции могут быть замещенным встроенным на максимальную глубину 16 вызовов.

См. также

Ссылки

Директивы pragma и ключевое слово __Pragma

inline_recursion