自动使输出二进制文件大于命令行编译的二进制文件

automake output binaries bigger than the command-line compiled bins

本文关键字:二进制文件 命令行 编译 大于 输出      更新时间:2023-10-16

对于我正在开发的一个小项目,我一直在通过命令行使用简单的编译。然而,随着它变得越来越大,我决定学习并使用autoconf和automake来编译它

经过一些配置,我成功地使用automake构建了。然而,我注意到输出二进制文件的大小比通过命令行使用g++要大。我尝试使用静态和动态库,结果是一样的。

我还尝试过一个简单的hello世界,使用automake也比使用命令行编译更大。

因此,我尝试运行objdump -h:编译的命令行返回了27个部分,另一方面,编译的automake返回了相同的27个部分加上7个部分,分别称为debug_aranges、debug_info、debug_abbrev、debug_line、debug_loc和debug_ranges。所以我显然倾向于认为这与调试有关。

所以,任何人都知道这些部分是用来做什么的,如果它们是必要的,以及如何删除,这样可执行文件就可以更小地分发。

安装二进制文件时只需调用make install-stripinstall将在安装过程中剥离它们。