我正在尝试使用gcc编译下面的汇编代码。我终于明白它编译了一个目标文件,但是当我尝试运行它时会收到错误,说“无法执行二进制文件”。我在Windows 10版本1511上。
我正在使用msys终端并通过输入
进行编译gcc -c main.s -o main.o
我尝试通过输入
来执行该文件./main.o
我收回错误
./main.o: ./main.o: cannot execute binary file
汇编代码是:
.section .text
.global main
main:
mov $4,%eax
mov $1,%ebx
mov $message,%ecx
mov msglength,%edx
int $0x80
mov $1, %eax
mov $0, %ebx
int $0x80
.section .data
message: .ascii "Hello world!"
msglength: .word 12
非常感谢任何帮助。
答案 0 :(得分:0)
这是一个Linux程序,无法在Windows上运行。
如评论中所述,您需要链接该程序,从-c
命令行中删除gcc
。