c++程序:预编译---编译----链接---可执行程序
1 预编译
主要完成代码的替换
#include 将include包含的部分复制进来。
#define 将宏定义的常量或者代码直接替换,不能进行安全检查,可能存在问题,不能进行调试,不能操作类的私有成员 宏代码和inline区别
#ifndef 条件编译,将不进行的那部分去掉
2 头文件包含哪些内容
#include "" 预编译器先到当前文件夹下找,然后到编译器指定的位置
#include <> 直接到编译器指定的位置
主要包括:
#define
#ifndef
const T
extern T
内联函数体
函数声明
类的声明
3 编译
编译阶段主要检查cpp文件语法问题,每个cpp文件生成,obj文件
4 连接
将上面obj文件以及里面用到的库函数对应的lib obj文件链接生成exe文件。
主要:将静态链接库lib文件全部封装到exe文件中。静态链接库和动态链接库区别