gcc链接,去掉不用的函数和data

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

解决方法:

CFLAGS 加上 -ffunction-sections -fdata-sections

LDFLAGS 加上 --gc-sections

原理如下:

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

-fdata-sections同理。

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

上一篇:linux学习-用户的特殊 shell 与 PAM 模块


下一篇:一起来学linux:PAM模块