C语言运行过程

本文介绍了C语言的编译过程,包括预处理、编译和连接三个阶段。通过一个包含头文件的实际例子,详细解释了头文件的作用,以及如何在预处理阶段处理宏、变量声明和函数声明。在编译阶段,C文件被转换成目标文件,而在连接阶段,多个目标文件组合成最终的可执行文件。

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

如何正确编写C语言头文件和与之相关联的C源程序文件,这
首先就要了解它们的各自功能。 要理解C文件与头文件(即.h )有什么
不同之处,首先需要弄明白编译器的工作过程。
一般说来编译器会做以下几个过程:
1.预处理阶段
2. 编译阶段,首先编译成纯汇编语句,再将之汇编成跟   CPU   相关的二进
制码,生成各个目标文件   (.obj   文件)
3. 连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特
定平台相关的可执行文件。
编译器在编译时是以  C  文件为单位进行的,也就是说如果你的项目
中一个    C  文件都没有,那么你的项目将无法编译,连接器是以目标文件
为单位,它将一个或多个目标文件进行函数与变量的重定位,生成最终
的可执行文件 。
为了生成一个最终的可执行文件,就需要一些目标文件,也就是首先
要有  C  文件,而这些  C  文件中又需要一个 main ()   函数作为可执行程序
的入口,那么我们就从 从这一个  C  文件入手,引入头文件概念。 
假定这个  C  文件内容如下:
#include  <stdio.h>
#include  "mytest.h"
int  main(int  argc,char **argv)
{
test  =  25;
printf("test ...........  %d\n",test);
}
头文件"mytest.h"包含如下内容:
int  test;
现在以这个例子来讲解编译器的工作:
1.预处理阶段:编译器以   C   文件作为一个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值