1 #include 文件包含 注意区分尖括号与引号的区别,尖括号告诉预编译器在编译器自带的或外部库的头文件中搜寻被包含的头文件
2 条件编译 包括:#if #ifndef #endif #undef
3 宏替换 #define ,包括有参与无参
编译器 预定义了一些宏 包括 __FILE__ __FUNCTION 等等 标识正在编译的文件名和函数名
#运算符:将其后的参数转换成一个字符串,例如 #define PASTE(n) “xxx”#n 注意,这是一个字符串
##运算符: 将两侧的参数合并成一个符号 #define NUM(a,b,c) a##b##c 注意,这是一个符号 ,但如果参数a,b,c 本身是字符串,那么这是一个字符串
4 #error 停止编译显示错误信息
5 #line 改变编译器用来指出警告和错误信息的文件号和行号
6 #pragma 为编译器提供非常规的控制流信息
语法为 #pragma para, 其中 para 有 message参数 code_seg参数 等等
#pragma message("消息文本") 在输出窗口中打印消息
#pragma code_seg 开发驱动程序会用到它 设置共享段 该方式可以使进程间数据通信
#pragma hdrstop 停止预编译后面的头文件
#pragma warning(关键字:值) 对于警告信息的一些设置
#pragma conmment(关键字:值) 将一个注释记录放入对象文件或可执行文件中 常用的有 #pragma comment(lib:值) 链入一个动态库
#pragma pack(n) 指定结构体对齐方式