一、链接静态库
-Wl,--whole-archive 将静态库中的所有的符号都链接进来
-Wl,--no-whole-archive 关闭该特性
一般这样使用
-Wl,--whole-archive -L. -lxxxlib -Wl,--no-whole-archive
二、自动优化掉未使用的函数
-ffunction-sections 编译源文件时,为每个function分配独立的section。
-fdata-sections 编译源文件时,为每个data分配独立的section。
--gc-sections 链接时,以section为最小处理单元,只有当section中有symbol被使用,才将该section链接到output中
我们在编译选项里面加上 -ffunction-sections -fdata-sections,
然后在链接选项里面加上 -Wl,-gc-sections(但是注意,一旦使用-Wl,-gc-sections将无法使用gdb调试,也无法使用grpof)
网友评论