码迷,mamicode.com
首页 > 编程语言 > 详细

c/c++中头文件和源文件的关系

时间:2015-03-21 11:19:44      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

.h为头文件,.c/.cpp为源文件

首先:

.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明,一般只有声名,而具体的实现放在源文件中。

要将a.cpp和a.h对应起来,就必须在a.cpp中写上#include"a.h",这样编译器才会把a.h和a.cpp两个文件绑定在一起。


其次:

要了解细节的东西,我们先要清楚译器的工作过程,一般说来编译器会做以下几个过程:
1.预处理阶段 
2.词法与语法分析阶段 
3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件)
4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格式信息(生成.exe文件)


其中 “预处理阶段”:#include预处理就是完成了一个“复制并插入代码”的工作(因为 #include "xx.h" 这个宏其实际意思就是把当前这一行删掉,把 xx.h 中的内容原封不动的插入在当前行的位置。)

eg. 会将headfile.h的全部内容复制到#include “headfile.h”处,

因为在c语言中,需要先声名才能使用,使用#include头文件,等于是把所有的声名都写了出来,这也是#include为什么放在开头的原因。

c/c++中头文件和源文件的关系

标签:

原文地址:http://blog.csdn.net/hyqsong/article/details/44513777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!