我想整理一个嵌入式项目,其中开发人员可以选择将所有h和c文件包含到ac文件中,然后他们可以使用-whole-program选项编译该文件良好的尺寸优化。大小优化选项
我讨厌这个,并且决心把它变成传统的使用LTO的程序来实现。
开发工具包附带的版本是; APS-GCC(海湾合作委员会)4.7.3 20130524(Cortus) GNU LD(GNU Binutils的)2.22
有了一个.o文件将是的.text 0x1c7ac,分裂成67个.o文件的.text出来作为0x2f73c,我添加LTO的东西,并减少到0x20a44,很好,但远远不够。
我已经尝试过--gc-sections和使用链接器插件选项,但他们没有进一步的改进。
任何建议,我看到从LTO正确的改进?
碰撞toolchain版本的选项呢? – Joe
我打算建议一样,IIRC后来的GCC版本在LTO领域做了显着的改进。此外,使用配置文件反馈来进一步减少可执行文件大小当然,用'-Os'编译。 –
为什么不编译时编译生成最终产品时编译时创建单个大文件的工具。这就是sqlite团队的工作 – pm100