无法执行二进制文件(Windows的GCC)

时间:2016-04-03 12:53:47

标签: gcc assembly

我正在尝试使用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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这是一个Linux程序,无法在Windows上运行。

如评论中所述,您需要链接该程序,从-c命令行中删除gcc