用GCC构建最小化的独立可执行文件

问题描述:

我有几个程序(用C语言编写)实现了一些算法,我用它来度量计算时间。整个数据在代码中直接作为静态库实现,没有这些程序的输入和输出。也没有C库调用(没有printfs等)。用GCC构建最小化的独立可执行文件

我想构建完全独立和最小的可执行文件。我不想将我的程序与libgcc(目标CPU有协处理器,所以我不需要模拟浮点运算),C库或任何其他程序链接。其实我想让我的节目尽可能独立。在Linux上,ELF程序只能与crt0.o连接才能正常运行,对吧?

我主要是问,因为我很好奇;)

链接与gcc -nostdlib,然后用objdump -hstrip --remove-section=...,以真正使小的摆脱无聊的东西,如注释部分和异常处理帧信息部分。继续删除部分,直到它停止工作。

并编译-Os当然是