编译参数CFLAGS
: -Os -ffunction-sections -fdata-sections
(去掉-g
参数,不启动调试)
链接参数LDFLAGS
: -Wl,-Map=object.map,--cref,--gc-section
通过上述参数,会在编译和链接是对代码进行优化。
把没有用到的函数全部裁剪掉,只保留有用的符号。
原本25M的程序在-g
参数后的,编程37M。去掉-g
,然后加上上面的参数,变为8.1M,缩减了很大的空间。
使用upx压缩可执行文件大小。