我写了一个32位程序集文件,我想在64位Linux系统上编译它(并使其工作)。我已经安装了gcc-multilib
和lib32-glibc
。32位nasm程序集不在64位系统上启动
我尝试用下面的命令创建二进制:
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
Howevery,我无法打开它。我得到:
bash: ./test: No such file or directory
我确信该文件存在,因为我可以在vim打开它(我可以看到ELF写在第一行)。这里发生了什么?