VS 下程序编译的过程发生了什么

C++里源代码一般分为.h文件和.cpp文件,编译生成exe的过程中,分为了3个步骤:编译预处理、分别编译生成目标文件、链接。编译预处理是编译器对cpp文件中头文件、宏进行处理,#include是一个宏定义,编译器会把头文件包含的内容替换在此处,而不产生任何副作用,这样便实现了头文件下的函数、变量、宏、类等在被编译的cpp文件中的声明,但并不包含定义,宏就是进行文本替换,如#define就是一个宏定义;C++支持“separate compile"分离编译,分别对各个cpp文件生成目标文件,有的cpp文件是某个头文件的实现(implementation),有的是包含有main函数的源文件,后者中如果调用了其他头文件中声明的函数,在生成目标文件时,并没有包含有该函数的实现,而是把这些函数组织在一起,通过链接的过程去寻找定位源代码实现文件;链接是把各个目标文件结合在一起,保证他们之间的依赖关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值