我有几个程序(用 C 编写)实现一些算法,我用它们来测量计算时间。整个数据直接在代码中实现为静态库,这些程序没有输入和输出。也没有 C 库调用(没有 printfs 等)。
我想构建完全独立且最小的可执行文件。我不想将我的程序与 libgcc(目标 CPU 有协处理器,因此我不需要模拟浮点运算)、C 库或任何其他库链接。实际上我想让我的程序尽可能独立。在Linux上,ELF程序必须仅与crt0.o链接才能正常运行,对吧?
我问这个问题主要是因为我很好奇;)
链接至gcc -nostdlib
,然后使用objdump -h
and strip --remove-section=...
通过去掉注释部分和异常处理框架信息部分等愚蠢的东西来真正缩小它。继续删除部分,直到它停止工作。
并编译-Os
当然
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)