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

    技术2025-04-26  8

     

    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。

    最新回复(0)