C语言源文件到汇编语言的编译

本文详细介绍了如何将C语言源文件通过预处理、编译成汇编代码,再进一步转化为目标文件的过程。通过gcc的-E和-S选项分别进行预处理和生成汇编代码,并展示了预处理后的汇编代码内容。最后,提到了使用as指令将汇编代码编译为目标文件。
摘要由CSDN通过智能技术生成

这是我们经常写的最简单的程序:

#include <stdio.h>
int main()
{
printf("Hello,world!\n");
    return 0;
}

在我们使用gcc指令来编译C语言源文件的时候,在命令行输入下面命令:

[root@localhost kangkang]# gcc -o hello hello.c   //#编译C代码生成目标文件为hello。

默认情况下,gcc指令将编译连接过程一步完成,使用适当的选项可以将编译过程分步骤完成。使用“-E”选项仅完成编译预处理操作:

[root@localhost kangkang]# gcc -E -o hello.i hello.c   //#仅执行编译预处理,指定预处理后生成的文件。

接下来,使用“-S”选项生成汇编代码。在命令行中输入下面的命令:

[root@localhost kangkang]# gcc -S -o hello.s hello.i    //#将C语言转换为汇编源代码文件“hello.s”  。

最后,使用cat指令查看生成的“.s”文件:

[root@localhost kangkang]# cat hello.s
        .file   "hello.c"
        .section        .rodata
.LC0:
        .string "Hello,world!"
        .text
.globl main
        .type  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值