预处理指令:
程序员所编写的代码不能被真正的编译器所编译,需要一段程序把代码翻译一下。
翻译的过程叫做预处理,执行翻译的程序叫做预处理器,被翻译的代码叫做预处理执行指令,以
#开头的都是预处理指令
查看预处理结果:
gcc -E code.c 把预处理的结果直接显示到终端上
gcc -E code.c -o code.i 把与处理结果寄存到.i结尾的文件中
预处理指令的分类
#include 文件包含
#include< > 从系统指定的目录下查找头文件并导入
#include" " 先从当前目录下查找头文件,如果找不到再从系统指定目
录查找并导入
注意:可以通过修改~/.bashrc 的环境变量来增加系统指定的目录
export C_INCLUDE_PATH=$C_INCLUDE_PATH:路径 但不建议修改
#defint 定义宏
宏常量: #define MAX 100
#define 宏名 字面值数据
优点:提高可扩展性(批量性修改)、提高了安全性(常量)、提高可读性、
可以与case配合使用
注意: 一般宏名全部大写
一般局部变量全部小写、全部变量首字母大写、函数名全部小写用下划线分隔、
宏名全部大写、指针变量+p、数组arr、字符串str
预定义的宏:
__ func__ 获取函数名 %s
__ FILE__ 获取文件名 %s
__ DATE__ 获取当前日期 %s
__ TIME__ 获取当前时间 %s
__ LINE__ 获取当前行号 %d
宏函数:带参数的宏
不是真正的函数
#define SUM(a,b) a+b
1、把代码中使用的宏函数替换为宏函数后面的代码 a+b
2、把宏函数代码中使用的参数替换为调用者提供