gnu解释
https://gcc.gnu.org/onlinedocs/gnat_ugn/Compilation-options.html
从最终可执行镜像中删除未使用的function和data,是由链接器来完成的。需要以下几个步骤
- function和data编译成单独的section,使用编译参数:-ffunction-sections -fdata-sections
- 链接时删除未使用的段,使用链接命令:-Wl,--gc-sections
以上编译和链接参数必须同时使用,才能达到删除的效果。
Ref
arm clang 编译命令,有较详细的介绍:https://developer.arm.com/documentation/dui0774/l
副作用
使用这种方法并不一定能降低镜像的大小。因为他会把一些BSS变量放到代码段,从而增加text段的大小。
标签:删减,编译,使用,镜像,sections,链接 From: https://www.cnblogs.com/lvzh/p/17743109.html