【发布时间】:2017-05-19 00:25:13
【问题描述】:
我正在尝试为 Linux Arch x64 编译它,我正在尝试:
section .text
global _start
_start:
mov edx, len
mov ecx, msg
mov ebx, 1
mov eax, 4
int 0x80
mov eax, 1
int 0x80
section .data
msg db 'hi123', 0xa
len equ $ - msg
和
$ nasm -f elf test1.asm
$ ld -s -o test1 test1.o
但是一个错误:
/usr/bin/ld: i386 architecture of input file `test1.o' is incompatible with i386:x86-64 output
【问题讨论】:
-
您告诉您的链接器创建一个 64 位二进制文件,但您的汇编代码是为 32 位汇编的。将
-m elf_i386标志传递给您的链接器。