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!

原文地址:https://www.cnblogs.com/zyx1314/p/4705366.html