我已经编写了一个 32 位汇编文件,我想在 64 位 Linux 系统上编译它(并让它工作)。我已经安装gcc-multilib
和lib32-glibc
.
我尝试使用以下命令创建二进制文件:
nasm -f elf test.asm
ld -melf_i386 -o test -e _main test.o /usr/lib32/libc.so.6
_main
入口点在哪里。文件测试已创建,我对其进行了chmod:
chmod ugo+x ./test
但是,我无法打开它。我得到:
bash: ./test: No such file or directory
我确定该文件存在,因为我可以在 vim 中打开它(并且我可以看到 ELF 写在第一行)。这里发生了什么?