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

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

解决方法:io

CFLAGS 加上 -ffunction-sections -fdata-sections编译

LDFLAGS 加上 --gc-sectionsfunction

原理以下:原理

-function-sections的意思是,将不一样函数编译到不一样的section上面。若是没有这个选项,全部的函数都会编译到一个section上面,因而函数就不能被“剥离”。gc

-fdata-sections同理。方法

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

相关文章
相关标签/搜索