如何在Emacs中从汇编语言生成可执行文件?

6

请问有人可以告诉我如何从汇编语言制作可执行文件吗?我的环境是Ubuntu+Emacs+GCC。为了学习目的,我写了一些C代码(hello.c),并将其转换为汇编代码(hello.s)。我希望能够从这个汇编文件中制作出一个可执行文件。

我尝试过:

M-x compile

gcc hello.c -S

将C代码转换为汇编代码

以及

M-x compile

as hello.s 

制作可执行文件:

但是只有一个a.out文件,无法执行。

因此我尝试了以下方法:

as hello.s -o aaa

但是文件"aaa"不可执行


1
尝试更改aaa的权限,使用命令"chmod +x aaa"。 - Zimbabao
我认为这不是权限问题,而是目标代码的问题。 - kim taeyun
1个回答

5
as的输出是一个目标文件。要使其可执行,您需要使用ld链接它,但还需要链接任何它依赖的对象,如果源自gcc,则至少包括libc,以及可能的其他对象文件。

1
非常感谢! gcc hello.s -o aaa。 这正是我想要的! - kim taeyun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接