1.将所以的#define删除,展开所有的宏定义
2.处理所有的条件预编译指令?????这啥
3.处理所有的#include预编译指令,将被包含的文件插入到预编译指令的位置
4.删除所有的注释
5.添加行号、文件名标识??????
检查所有的语法、词法、语义是否错误
代码优化
目标代码生成-->生成汇编代码
目标代码优化
将汇编代码转化为机械可执行的指令
将不同源文件的目标文件进行链接,生成一个可执行程序
class A{ public: ? ?A(){ } ? ?~A(){ } private: ? ?int a; protected: ? ?int c; };
#include <iostream> ? using namespace std; ? #define div(x,y) x/y int main() { int a, b; cin >> a >> b; cout<<div(a, b)<<endl; return 0; }注意宏函数的定义不一定后面非得没有分号,加上也可以,但是如果宏上加;了要注意调用宏函数进行文本替换时候别出错!