1.编写文本代码,C或Cpp文件
2.编译,就是Compile,由C编译程序对你写的代码进行词法和语法分析,发现并报告错误。
如若无错,则生成中间代码,扩展名.obj,此时是二进制
3.链接,Link,生成可执行的Exe文件。由于一个程序的源码可由多个文件组成。这些文件在第二步
中分别编译,生成各自的目标文件,这一步的作用便是将这些Obj文件,以及程序中需要的其它库文件(Dll除开),统一到一个文件中来,形成单个的Exe 文件。此Exe文件便可以在操作系统下直接运行了。
源文件-->预编译处理-->编译(优化,汇编程序)-->链接程序–>可执行文件
预处理:编译成目标文件前对源程序进行处理
宏处理 #define
预处理指令#开头,无逗号,可出现在任意位置,作用域为出现位置到文件结尾
1 | #define 一改全改 |
1 | 多行定义 \ |
文件包含 #include
#include<头文件名称>: 先在系统路径搜索文件(一般是include)
#include"头文件名称":先在当前目录搜索
条件编译与#program
1 | #if 0或1 //如果是0则不编译,如果是1则编译 |
1 | #ifdef 宏名 //如果宏名已定义,执行块1,否则执行块2 |
1 | #ifndef 宏名 //如果宏名没有定义,我们就定义一个这样的宏,防止头文件被重复包含 |
1 | #program once //防止头文件被重复包含,只能在vs中用 |