Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Директива inline_recursion - позволяет развернуть рекурсивную функцию указанной или неопределённой глубины путём инлайнинга
- Ключевое слово __forceinline (для С и С++) заставляет компилятор всегда инлайнить функцию, если это возможно.
- Никогда не инлайнить функцию с помощью директивы noinline
- __declspec(noinline) void func() {
- }
- Посоветовать компилятору выполнить инлайн (хотя компилятор может решить проигнорировать этот совет, если сочтёт его плохим)
- inline void func() {
- }
- Компилятор не всегда может заинлайнить функцию. Например, во время виртуального вызова виртуальной функции: функция не может быть заинлайнена, т. к. компилятор не знает точно какая именно функция будет вызована. Другой пример: функция вызывается через указатель на функцию вместо вызова через её имя. Вы должны стараться избегать таких ситуаций, чтобы инлайнинг был возможен. Полный список всех подобных условий можно найти в MSDN.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement