[root@GoodiesArch ASM]# ls
EXEC* file.sh* this.asm
[root@GoodiesArch ASM]# ./EXEC
bash: ./EXEC: No such file or directory
[root@GoodiesArch ASM]#
我有一个我编译的汇编文件,它不会将其视为实际文件。不是我用[TAB]自动填充来填写文件名。它会检测到它,但它会说'#34;没有这样的文件或目录"
这是我用来编译它的内容。 我有一台x64位机器,正在运行32位asm代码:
nasm -f elf32 -o tmp.o this.asm
ld -s -lc -L /usr/lib32/ -m elf_i386 -o EXEC tmp.o
它显示ls
和tabbing中的文件,但是当我按Enter键时,它什么也没显示。
更新 好的。当我不通过ASM文件调用C函数时,我可以编译它并运行,没有错误,使用它:
nasm -f elf32 -o tmp.o this.asm
ld -s -m elf_i386 -o EXEC tmp.o
答案 0 :(得分:2)
看起来像是动态链接器问题。尝试将/usr/lib32
添加到动态链接路径中执行它:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib32 ./EXEC
如果这不起作用,您可以执行以下操作:
/usr/lib32/ld-linux.so.2 --library-path /usr/lib32 ./EXEC