出现问题:
$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!
时间: 2024-10-13 20:07:52