вопрос к знатокам: Происходит ли сабж?
вместо пояснения:
допустим функция foo() и call_foo() определена в foo.o. Функция foo() достаточно небольшая, чтобы компилятор её встроил.
call_foo() вызывает foo() и, очевидно, на этапе компиляции вызов встраивается в вызывающую функцию.
теперь рассмотрим bar() из модуля bar.o, которая вызывает foo(). итак вопрос, встроится ли foo() в bar() при каких-либо условиях?
LinuxForum.Fans
Встраивание/оптимизация при линковке.
Автор: Fat-Zer
4 сообщений
1474 просмотров
Ну возможно при использовании LTO foo() будет встроена в bar().
Ну возможно при использовании LTO foo() будет встроена в bar().
действительно, фича правда совсем новая... в основной ветке gcc появилась только в 4.5. А про подобные штуки в других компиляторах кто-то что-то знает?
действительно, фича правда совсем новая... в основной ветке gcc появилась только в 4.5. А про подобные штуки в других компиляторах кто-то что-то знает?
Своего родом "аналогом" LTO для Intel Compiler является IPO, а вот как дела обстоят в других компиляторах вроде Clang я не знаю (хотя вроде как LLVM поддерживает LTO).
Войдите или зарегистрируйтесь, чтобы ответить.