3

我很少有程序(用 C 语言编写)实现一些算法,用于测量计算时间。整个数据直接在代码中实现为静态库,这些程序没有输入和输出。也没有 C 库调用(没有 printfs 等)。

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

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

4

1 回答 1

3

链接gcc -nostdlib,然后使用objdump -hstrip --remove-section=...通过摆脱诸如注释部分和异常处理帧信息部分之类的愚蠢内容来真正使它变小。继续删除部分,直到它停止工作。

-Os当然编译

于 2012-08-15T20:22:02.300 回答