Автоматическое встраивание для VC ++? - PullRequest
2 голосов
/ 01 октября 2010

Есть ли способ сообщить компилятору о том, что он встроен везде, где он считает его полезным?Я думал, что это по умолчанию, но добавление нескольких встроенных функций в мой игровой цикл улучшило производительность на 30%.

Спасибо

Ответы [ 3 ]

3 голосов
/ 01 октября 2010

Параметр / Ob

Обратите внимание, что компилятор не может автоматически встроить функции в модули компиляции, если вы не используете Оптимизация всей программы (/ GL).

2 голосов
/ 01 октября 2010

Visual C ++ выполнит автоматическое встроенное расширение , если вы скажете это через переключатель /Ob2 (но только если включены оптимизации, например, /O2).

Возможно, это было отключено, или, возможно, компилятор не настолько агрессивен для вставки, как вы хотите. В последнем случае используйте ключевое слово inline (которое вы сделали: D).

1 голос
/ 01 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...