gpt4 book ai didi

linux - 为什么简单的退出程序不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:15 24 4
gpt4 key购买 nike

我是汇编语言编程的新手。我写了下面的代码,

.text
.globl _start

_start:
movl $1,%eax
movl $0,%ebx
int $0x80

并使用as -o JustExit.o JustExit.asm 命令创建目标文件。 (程序集文件名为 JustExit.asm)。

在这一步之后,我使用了可执行权限,

chmod 777 ./JustExit.o

当我执行程序时,它说,

-su: ./JustExit.o: cannot execute binary file

我不明白为什么这个简单的“退出”程序不起作用。

谢谢。

最佳答案

通过 as 组装您的源代码会生成一个 object file这是“尚未”可执行的。您必须将目标文件与 linker 链接起来例如 ld,它将生成一个完全可用的可执行文件(默认为 a.out)。

你的命令行链看起来像这样:

$ as -o JustExit.o JustExit.asm
$ ld JustExit.o
$ ./a.out

而且有效!

关于linux - 为什么简单的退出程序不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20694960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com