| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > об inline функциях |
| Автор: cskcsk 15.6.2005, 00:42 |
| Довольно много приходится делать в ВС3.1 под ДОС, но так и не понял, как он обходится с inline-функциями. Как ни загляну в ассемблерный текст (его работы), так все call-ы одни. Понятно, что стандарт не обязывает компилятор вставлять инлайны, где заказано, но все-таки хоть иногда бы удовлетворял. Может быть существуют приемы, стили и.т.п., которые стимулировали бы компилятор на это дело? |
| Автор: JackYF 15.6.2005, 02:40 |
| ключевое слово inline только рекомендует компилятору сделать функцию подставляемой. Кстати, далеко не все функции, по стандарту, могут быть подставляемыми; а еще в случае этого "компилятора" вряд ли что-либо можно сделать. P.S. Кстати, стоит покопаться в настройках проекта - там иногда для дебага опция просто принудительно отключается |
| Автор: chaos 15.6.2005, 05:58 |
| на сколько я помню стандарт не разрешает иметь в инлайн функциях циклы условия свитчи |
| Автор: Alastis 15.6.2005, 06:39 |
| в vc есть такое: __forceinline — безусловный приказ компилятору сделать функцию инлайн. Правда и тогда есть некоторые случаи, в которых компилятор не обратит внимание на эту опцию. Посмотри, может и в ВС3.1 есть что то подобное |
| Автор: Void 15.6.2005, 19:34 | ||
Стандарт по поводу ограничений/гарантий на инлайн-подстановку вообще ничего не говорит. Реализация вправе хоть вообще игнорировать inline. Циклы, условия, свитчи прекрасно инлайнятся Intel C++ и чуть хуже MSVC. |