![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Спор тут зашел..
![]() При использовании inline фуункции что теряем-размер исполняемого файла или размер занимаемой памяти , при выполнении проги ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Darhazer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: 2 Всего: 29 |
размер исполняемого файла конечно ;)
-------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Тут сравнение идет на Билдере и VC.
Как-то по разному ведут себя. У первого exe растет, у второго память немного,а exe не меняется ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Да не может этого быть.Inline ф-ция это тоже самое,что ты в кпждом ее использовании фактически вбиваешь сам текст ф-ции.Т е размер exe должен увеличеваться,но и скорость тоже
![]() -------------------- Жизнь - печальная штука. |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Если бы я был Пинокио, у меня б все равно нос не вырос .Проверь ![]() Я может какие опции не включил, но пока по умолчанию ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Darhazer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: 2 Всего: 29 |
А в принципе все зависить от компилятора. Компилятор не должен каждую inline функцию сделать inline и можеть сам решить коротких функциях сделать inline. Но по логике -> размер файла должен увеличиться
-------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
|||
|
||||
darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: 2 Всего: 31 |
Если компилятор соблаговолит сделать ф-цию Inline то размер exe увеличивается, а скорость ..., вобщем зависит от inline ф-ции.
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Не все так уж однозначно.
Если функция такая:
то, если сделать ее Inline, то размер кода только уменьшится... Не надо забывать про прологи-эпилоги, и прочие записи адреса возврата в стек... -------------------- ... |
|||
|
||||
srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Среднестатический компилятор умнее среднестатического программиста. Он может сам встраивать не-inline функции, и может не встраивать inline-функции
![]() -------------------- Не смей читать мою подпись!!! |
|||
|
||||
Mephistopheles |
|
|||
![]() Бегущий от света ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 15.11.2005 Где: Где нет света Репутация: нет Всего: 6 |
Всё зависит от компилера. Он сам решает ставить функцию, как inline или нет. Чтобы он стопудово втыкал, надо юзать __forceinline, но это стандарт Мелкомягких, а соответсвенно не кросплатформенный. --------------------
Ангелы и бесы кружат надо мной.Ангел или бес - делай выбор свой.Вспыхнуть огнём; вознестись до небесДелай выбор свой: ангел или бес?© Mephistopheles, бегущий от света. |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Coocky
Поиком бы воспользовался ![]() inline — не более чем совет компилятору, а делать ее или нет — его личное дело.
Неа, не стопудово ![]() ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
exe-шник не всегда увеличивается при увеличении размера исполняемого кода, иногда он будет оставаться таким же
дело в том, что часто различные его части не просто записаны в файл друг за дружкой, а выровнены каким-либо образом для ускорения загрузки так что если код увеличился, но все равно не перестал помещаться в свою область, exe-шник останется по размеру тем же... -------------------- qqq |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
И дядя Саттер не рекомендует делать функции inline, т.к. любой профайлер может сказать, что данную функцию стоит делать inline, но ни один не скажет, что ее не надо делать inline -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
Mephistopheles |
|
|||
![]() Бегущий от света ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 15.11.2005 Где: Где нет света Репутация: нет Всего: 6 |
Гон, не должно быть так. __forceinline для этого и создан, чтобы "насиловать". ![]() --------------------
Ангелы и бесы кружат надо мной.Ангел или бес - делай выбор свой.Вспыхнуть огнём; вознестись до небесДелай выбор свой: ангел или бес?© Mephistopheles, бегущий от света. |
|||
|
||||
oberonchik |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.11.2005 Репутация: нет Всего: нет |
Там в опциях компилятора наверняка ещё должен быть размер функции, которую можно делать инлайн.
По крайней мере под никсами в gcc такой параметр есть. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |