我想知道Elf64可执行文件的最小大小是多少。 为此,我编译了以下代码:
cat main.c
int _start(){}
使用以下命令:
gcc -s -nostdlib main.c
,然后使用以下命令删除可执行文件中的某些部分:(https://stackoverflow.com/a/11976684/10641441)
strip --remove-section=.comment a.out
strip --remove-section=.gnu.hash a.out
strip --remove-section=.note.gnu.build-id a.out
我知道运行./a.out会导致segfault,但这不是问题,因为a.out是有效的Elf64二进制文件。
现在:
du -b a.out
4752 a.out
是否可以通过其他方法将其进一步缩小或制作更小的Elf64二进制文件?