![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| cskcsk |
|
|||
|
Unregistered |
Довольно много приходится делать в ВС3.1 под ДОС, но так и не понял, как он обходится с inline-функциями. Как ни загляну в ассемблерный текст (его работы), так все call-ы одни. Понятно, что стандарт не обязывает компилятор вставлять инлайны, где заказано, но все-таки хоть иногда бы удовлетворял.
Может быть существуют приемы, стили и.т.п., которые стимулировали бы компилятор на это дело? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
ключевое слово inline только рекомендует компилятору сделать функцию подставляемой. Кстати, далеко не все функции, по стандарту, могут быть подставляемыми; а еще в случае этого "компилятора" вряд ли что-либо можно сделать.
P.S. Кстати, стоит покопаться в настройках проекта - там иногда для дебага опция просто принудительно отключается |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
на сколько я помню стандарт не разрешает иметь в инлайн функциях циклы условия свитчи
|
|||
|
||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
в vc есть такое: __forceinline — безусловный приказ компилятору сделать функцию инлайн. Правда и тогда есть некоторые случаи, в которых компилятор не обратит внимание на эту опцию. Посмотри, может и в ВС3.1 есть что то подобное
-------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Стандарт по поводу ограничений/гарантий на инлайн-подстановку вообще ничего не говорит. Реализация вправе хоть вообще игнорировать inline. Циклы, условия, свитчи прекрасно инлайнятся Intel C++ и чуть хуже MSVC. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |