程序翻译的过程,linux环境下处理,生成 .i、.s、.o 文件(预处理、编译、汇编、链接)

文章详细介绍了C程序从编写到执行的四个主要步骤:预处理(宏替换、头文件处理等)、编译(转换为汇编代码)、汇编(汇编代码转二进制)和链接(组合对象文件和库,生成可执行文件)。通过Linux环境下的gcc命令演示了这一全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 程序翻译的过程有四个步骤,预处理->编译->汇编->链接。

那么每个步骤是干什么?

预处理阶段:处理-> 头文件、宏替换、条件编译等等,我用 linux 环境查看一下,如下:

首先写一个简单的 .c 文件,里面包含宏替换、头文件、条件编译等等,我写了这三个。

#include <stdio.h>    
    
#define N 2    
    
int main()    
{    
    printf("%d\n", N);    
    
    
#ifdef DEBUG                                                                                                             
    printf("debug\n", );    
#else    
    printf("nodebug\n");    
#endif    
    
    return 0;    
}  

然后 linux 中,用 gcc -E -o Test.i Test.c 这条命令就是处理预处理,生成 .i 文件,我就简单截几张图,因为生成的 .i 800多行,如下:

那么编译呢?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值