Поделиться через


Встроенные функции

Блок, относящийся только к системам Microsoft

Ключевое слово __inline указывает компилятору заменить код в определении функции для каждого экземпляра вызова функции. Однако подстановка выполняется только по решению компилятора. Например, компилятор не подставляет функцию, если ее адрес был получен или если она слишком велика для подстановки.

Для того чтобы функция считалась кандидатом для подстановки, для нее должно использоваться определение функции в новом стиле.

Используйте следующую форму для определения подставляемой функции:

__inline type(необязательно) function-definition;

С помощью подставляемых функций можно создавать более быстрый код, который иногда может быть меньше, чем при использовании соответствующего вызова функции. Это вызвано следующими причинами:

  • Они сокращают время, необходимое для выполнения вызовов функций.

  • Подставляемые функции небольшого размера, например длиной 3 строки или менее, создают меньше кода, чем соответствующий вызов функции, потому что компилятор не генерирует код для обработки аргументов и возвращаемого значения.

  • Для функций, которые создаются как подставляемые, выполняется оптимизация кода, которая недоступна для обычных функций, поскольку компилятор не выполняет межпроцедурные оптимизации.

Функции, в которых используется ключевое слово __inline, не следует путать со встраиваемым кодом на языке ассемблера. Дополнительные сведения см. в разделе Встраиваемый код на языке ассемблера.

Завершение блока, относящегося только к системам Microsoft

См. также

Ссылки

inline, __inline, __forceinline