Russian Qt Forum
Ноябрь 02, 2024, 17:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Встраивание/оптимизация при линковке.  (Прочитано 2136 раз)
Fat-Zer
Гость
« : Июнь 15, 2011, 20:06 »

вопрос к знатокам: Происходит ли сабж?

вместо пояснения:
допустим функция foo() и call_foo() определена в foo.o. Функция foo() достаточно небольшая, чтобы компилятор её встроил.
call_foo() вызывает foo() и, очевидно, на этапе компиляции вызов встраивается в вызывающую функцию.
теперь рассмотрим bar() из модуля  bar.o, которая вызывает foo(). итак вопрос, встроится ли foo() в bar() при каких-либо условиях?

Записан
BRE
Гость
« Ответ #1 : Июнь 15, 2011, 20:14 »

На этапе линковки никакого встраивания быть не может - только сборка и настройка связей.
Записан
Fat-Zer
Гость
« Ответ #2 : Июнь 15, 2011, 22:43 »

оказывается с недавнего времени такое возможно. в gcc-4.5 добавили флаг -flto, отвечающий за оптимизацию при линковке.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.273 секунд. Запросов: 21.