连接去除可执行文件中没用到的符号
CFLAGS 加上 -ffunction-sections -fdata-sections
LDFLAGS 加上 --gc-sections
原理如下:
-function-sections的意思是,将不同函数编译到不同的section上面。如果没有这个选项,所有的函数都会编译到一个section上面,于是函数就不能被“剥离”。
-fdata-sections同理。
--gc-sections 表示把不要的函数section去掉
本文介绍如何通过编译器选项 CFLAGS 和 LDFLAGS 来移除未使用的函数和数据段,从而减小最终可执行文件的体积。具体方法是在 CFLAGS 中加入-ffunction-sections 和 -fdata-sections,在 LDFLAGS 中加入 --gc-sections。
连接去除可执行文件中没用到的符号
CFLAGS 加上 -ffunction-sections -fdata-sections
LDFLAGS 加上 --gc-sections
原理如下:
-function-sections的意思是,将不同函数编译到不同的section上面。如果没有这个选项,所有的函数都会编译到一个section上面,于是函数就不能被“剥离”。
-fdata-sections同理。
--gc-sections 表示把不要的函数section去掉
5187
5388
1948

被折叠的 条评论
为什么被折叠?