我有一个大问题。我有一个通用库,在我的项目中使用。该库大量使用boost.spirit
和boost.fusion
. 不幸的是,图书馆大约是。700Mb 大小。所有的boost.spirit
-heavy 代码都被使用并且运行良好。可以采取哪些步骤来减小其输出大小?是否有工具可以帮助确定哪些模板实例化浪费了大部分空间?
起初,我决定将所有精神感知代码移动到 cpp 文件中。其次,我将尝试不同的编译器标志来优化大小。我不知道还能做什么。
更新(详情)
我正在使用 GNU 工具链。庞大的库实际上是一个静态库。使用这个 700Mb 库的可执行文件大小为 200Mb。至少有一半的代码在 *.h 文件中。一些boost.spirit
语法(非常重的模板)也位于 *.h 文件中。
干杯!