首先将更
_printf改为
printf并将
_start符号更改为
main,然后使用
gcc链接目标文件,该文件将自动链接至该文件
libc,
您需要这样做,因为AFAIK如果没有,就无法链接至libc
main。另外,在汇编时也应使用elf32而不是elf64,因为代码具有32位指令:
bits 32extern printfglobal mainsection .data message db "Hello world!!", 10, 0section .textmain: pushad push dword message call printf add esp, 4 popad ret
并使用:
nasm -f elf32 vaja4.asmgcc -m32 vaja4.o -o vaja4$./test $Hello world!!
编辑:
由于您现在要在64位系统上编译32位代码,因此需要安装32位版本的库
apt-get install ia32-libs
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)