编译代码的时候,没有用到的函数常常会被编译,该怎么才能去掉呢?函数
解决方法:io
CFLAGS 加上 -ffunction-sections -fdata-sections编译
LDFLAGS 加上 --gc-sectionsfunction
原理以下:原理
-function-sections的意思是,将不一样函数编译到不一样的section上面。若是没有这个选项,全部的函数都会编译到一个section上面,因而函数就不能被“剥离”。gc
-fdata-sections同理。方法
--gc-sections 表示把不要的函数section去掉data