Название: Встраивание/оптимизация при линковке. Отправлено: Fat-Zer от Июнь 15, 2011, 20:06 вопрос к знатокам: Происходит ли сабж?
вместо пояснения: допустим функция foo() и call_foo() определена в foo.o. Функция foo() достаточно небольшая, чтобы компилятор её встроил. call_foo() вызывает foo() и, очевидно, на этапе компиляции вызов встраивается в вызывающую функцию. теперь рассмотрим bar() из модуля bar.o, которая вызывает foo(). итак вопрос, встроится ли foo() в bar() при каких-либо условиях? Название: Re: Встраивание/оптимизация при линковке. Отправлено: BRE от Июнь 15, 2011, 20:14 На этапе линковки никакого встраивания быть не может - только сборка и настройка связей.
Название: Re: Встраивание/оптимизация при линковке. Отправлено: Fat-Zer от Июнь 15, 2011, 22:43 оказывается с недавнего времени такое возможно. в gcc-4.5 добавили флаг -flto, отвечающий за оптимизацию при линковке.
|