Fork me on GitHub

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

解决方法:

CFLAGS 加上 -ffunction-sections -fdata-sections

LDFLAGS 加上 --gc-sections

原理如下:

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

-fdata-sections同理。

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

posted on 2019-04-08 09:09  虚生  阅读(2212)  评论(0编辑  收藏  举报