C/C++ 编译连接过程

    所谓编译,就是把文本形式的源代码(*.c和*.cpp)翻译为机器语言形式的目标文件(一般为obj文件)。

    所谓链接,就是把目标文件和用到的库文件组织成计算机可执行代码的过程。

     从上面的叙述我们可以发现编译链接过程中都没有涉及到头文件,那么头文件在编辑链接时到底有没有用呢?答案是肯定的。

    实际上程序在编译和链接之前还有一步工作,那就是预编译。

    所谓预编译,就是对源程序中的伪指令(以#开头的指令)和特殊符号进行处理。伪指令主要包括四个方面:1.宏定义指令;2.条件编译指令;3.头文件包含指令;4.特殊符号。

    简单而言,预编译程序就是对源程序的“替换”工作。经过此步骤后,生成一个没有宏定义、条件指令、特殊符号的输出文件,该文件的含义和没有预处理前的源文件是一样的,只是内容有所不同。编译过程就是对预处理后的输出文件进行翻译。

转载于:https://my.oschina.net/871120/blog/306173

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值