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 вызовов. |