编译代码的时候,没有用到的函数经常会被编译,该怎么才能去掉呢?

解决方法:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

CFLAGS 加上 -ffunction-sections -fdata-sections

LDFLAGS 加上 --gc-sections

原理如下:

-function-sections的意思是,将不同函数编译到不同的section上面。如果没有这个选项,所有的函数都会编译到一个section上面,于是函数就不能被“剥离”。

-fdata-sections同理。

 --gc-sections 表示把不要的函数section去掉

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄