由 源代码 到 可执行 的过程包括四个步骤:预编译 编译 汇编 链接 所以 首先就应该清楚的首要问题就是预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行交换,而不是对程序中的变量 函数等
预编译指令的基本知识不作详细介绍,只稍作汇总,重点是后面的我能想到的使用时注意事项
1:基本内容
预编译命令基本内容分类如下:
预定义符号: 指令 _FILE_ _LIN_ _DATE_ ,
宏 #define
文件包含 #include
条件编译 #if #else if #ifdef #ifndef
指令的名称以及 功能列表:
# 控制令
#under 移除一个空定义
#error 停止编译 并生成错误信息
#line 修改_LINE_ 和 _FILE_ 的值
#progma 允许编译器提供额外功能
在定义宏的时候 有两个运算符
# 将宏参数转换为字符串
## 将多个符号连成一个标识符
2 宏定义:
(1):一般在宏定义的结尾不加分号
我们在使用的时候,要加上分号,像我们平时写的语句一样
(2):注意加括号
在有参数的空定义中,如果含有数值运
在有参数的空定义中,如果含有数值运算,那么就要在“宏整体”和“宏参数”两端都要加上括号。
如:#define max(a, b) ((a)+(b));
(3)注意空格
在有参数的宏定义中,注意“宏名称”和“参数列表”之间不能有空格。
如:#define max (a, b) ((a)+(b)); 在"max”和”(a, b)”之间不能有空格。
2 文件的包含:
(1)要将头文件的定义在保护条件中
目的是为防止重复包含头文件
(2)注意windows 和 Unix 系统的路径不同
可以在#include 中指定路径来包含 文件,例如#include