Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mkostoevr
Незнайка
24 / 9 / 1
Регистрация: 14.10.2016
Сообщений: 366
Записей в блоге: 2
#1

По какой причине компилятор может не заинлайнить функцию? - C++

19.06.2017, 17:46. Просмотров 126. Ответов 2
Метки нет (Все метки)

Здравия всем!

В общем, прочёл я тут одну тему, и нашёл кое-что интересное:

Цитата Сообщение от CheshireCat Посмотреть сообщение
Обрати внимание только, что inline - это не приказ, а нижайшая просьба к компилятору: "Милостивый государь, будьте так любезны, попытайтесь заинлайнить эту функцию, пожалуйста." - каковую просьбу компилятор может выполнить, а может и проигнорировать. Поэтому рассчитывать на то, что функция будет обязательно заинлайнена, нельзя.
... То есть, компиллер может функцию и не заинланить? Почему? Так быстрее?

ЗЫ: Касается ли это компилятора MinGW? Просто я с С++ не на VS работаю.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2017, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос По какой причине компилятор может не заинлайнить функцию? (C++):

По какой-то причине не работает функция - C++
Доброго времени суток, уважаемый форум. #include <iostream> using namespace std; class Rectangle { public: ...

Какой компилятор выбрать - C++
Пишу диплом... Мне надо в документации указать почему я выбрал именно язык с++, почему среда разработки QT Creator и почему компилятор Min...

Какой компилятор использовать? - C++
читаю Страуструпа практика С++,половина программ выдают ошибки,глава с графикой вообще не работает. проблема с библиотеками,например,...

Какой использовать компилятор С++ ? - C++
В общем нашёл код: #include <iostream> #include "stdafx.h" int main() { std::cout << "Hello, world!" << std::endl; ...

какой компилятор посоветуете - C++
Сел изучать С по книге Б.Керниган и Д.Ритчи "Язык прогр. Си", програмные примеры в книге описаны на Линуксе, что для меня не совсем удобно....

Какой компилятор использовать - C++
Привет. начал изучать С++. из книги Книги "Язык программирования С++. Бьерн Страуструп" вот не понимаю какой компилятор для него...

2
MrGluck
Модератор
Эксперт CЭксперт С++
7520 / 4657 / 701
Регистрация: 29.11.2010
Сообщений: 12,715
19.06.2017, 17:49 #2
Цитата Сообщение от mkostoevr Посмотреть сообщение
Почему?
Потому что так сложились звёзды.
Потому что проанализировав контекст, компилятор пришёл к выводу, что лучше не инлайнить.
Более того, в одном контексте компилятор может функцию заинлайнить, в другом нет.
Вам лучше не заморачиваться по этому поводу, компиляторы сейчас достаточно взрослые ребята, чтобы сами решать что им и куда вставлять.
Хотите подробней рассмотреть данный вопрос - почитайте Саттера, "Новые сложные задачки на С++", он там всё в деталях описывает.
1
nonenever
0 / 0 / 2
Регистрация: 19.06.2017
Сообщений: 28
19.06.2017, 18:01 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от mkostoevr Посмотреть сообщение
может функцию и не заинланить?
Не может, если сделать правильно:
https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Function-Attributes.html
always_inline
Generally, functions are not inlined unless optimization is specified. For functions declared inline, this attribute inlines the function even if no optimization level was specified.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2017, 18:01
Привет! Вот еще темы с ответами:

Какой компилятор С++ скачать? - C++
подскажите пожалуйста что за С++ лучше качать кокого года ну самый нормальный)))и если можно cskjxre на него))) оч надо хочу с Delphi на...

Какой компилятор лучший - C++
Здравствуйте, дорогие форумчане! Начинаю учебу c++ какие литературы читать и какой компилятор использовать(чаще всего для ООП).

Какой компилятор поддерживает С++ 11? - C++
Привет! Какой-нибудь компилятор реализует уже стандарт С++ 11?

Какой компилятор C++ выбрать? - C++
Какой компилятор C++ сейчас наиболее популярный под Windows? Имеется ввиду компилятор: среда разработки, возможность создания программ с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.