如何减小编译后可执行文件的大小

 

CFLAGS += -ffunction-sections -fdata-sections
LDFLAGS += -Wl,-Map=object.map,--cref,--gc-section

if found overlap error, add one line in Link script:

.text{

  *(.text.*)
}

通过增加CFLAGS选项,使得各个函数放到单独的section内,在链接的时候会自动去掉没有使用的函数。从而达到减小可执行文件大小的目的。

-Wl,-Map=object.map:输出一个可执行文件的map文件,可以查看各个函数所在的内存地址。

注意:使用该选项后,全局变量不会自动设为0。

你可能感兴趣的:(如何减小编译后可执行文件的大小)