标签: gcc gnu ld elf binutils
GCC有一个有用的选项,可以在编译期间将每个函数放入自己的部分(-ffunction-sections)。在链接二进制文件(-gc-sections)期间优化掉未使用的函数非常有用。
我有一个静态库,但没有源代码。该库有数百个函数,但它们都放在一个.text段中。代码大小对我的应用程序至关重要(事实上,它是一个嵌入式ARM应用程序),GNU链接器无法优化未使用的函数,因为它们都在一个部分中。
如何将函数从编译对象文件移动到各自的部分?