- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
Poor man' link time code generation:
#include "main.cpp"
#include "frame.cpp"
#include "func.cpp"
#include "account.cpp"
#include "advancer.cpp"
#include "audit.cpp"
#include "cpio.cpp"
g++ -whole-program -o my books.exe -O3 includeall.cpp
я такое пару раз делал когда (1) make'а под рукой не было или (2) мэйкфайл был кривой. (виндозные проблемы.)
для оптимизации имхо это кривовато. почти все компилеры уже могут и LTO и profile-based optimization. и gcc все равно нужно говорить что бы он больше инлайнил (-finline-limit), потому что по умолчанию он относительно консервативен.
ЗЫ искал inline limit - случайно нашел -fmudflap . LOLное имя.
-lole32
Думаю gcc не зря консервативен в инлайне и анроллинге, fprofile - вот критерий истины.
Это доказательство почему гентушники жгут даром электричество. Ибо давно подмечено, что свои билды даже заточенные под конкретную машину зачастую сливают профайленным. А профайлить и делать lto всему софту - идиотия и преждевременная оптимизация.
Кстати а какие еще опции кроме стандартных -O3 -flto -march= ... -mtune=... кто юзает?