linux(64位的系统)下nasm进行汇编链接时出现的问题

出现问题:

$nasm -f elf hello.asm -o hello.o

$ld -s hello.o -o hello

  ld: i386 architecture of input file `hello.o' is incompatible with i386:x86-64 output

-------------------------------------------------------------------------------------------------------

尝试:

$ ld -m32 -s hello.o -o hello
  ld: unrecognised emulation mode: 32
  Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om i386pep i386pe

-------------------------------------------------------------------------------------------------------

解决:

$nasm -f elf hello.asm -o hello.o

$ld -m elf_i386 -s hello.o -o hello

$./hello

  Hello, world!

上一篇:linux下64位汇编的系统调用(1)


下一篇:linux下64位汇编的系统调用(3)