主要记录一下部分编译伪指令相关的知识点
1 #error
ifndef WIN32 //__cplusplus
#error Error : Only Win32 platform supported!
#endif
编译伪指令,用于在编译窗口中显示平台、环境相关的错误信息。
2 #pragma
用于设置编辑器的状态
几个常用的:
2.1
#pragma warning(disable : 4996) //编译时忽略4996号警告
2.2
#pragma once //编译时保证头文件仅出现一次
2.3
#pragma comment(lib, "kernal.lib") //用来引入库文件
2.4
#pragma message( "文本消息" )//在编译时显示的文本信息,一般用来提示某个宏已经定义
3 #和##
3.1 #主要作用是构串,即将字符序列替换成字符串
#define STRING(x)
#x #x #x
...
STRING(qiao) 结果就是“qiaoqiaoqiao”字符串
3.2 ##主要作用是合并,即将左右字符序列合并成一个标识符(非字符串)
#define NAME(x)
n##x
...
NAME(Len) 结果就是一个标识符nLen,不是字符串
4 一些预定义的符号常量
4.1
__LINE__ 代表当前行号
4.2
__FILE__ 代表当前文件名
4.3
__DATE__ 代表当前日期
4.4
__TIME__ 代表当前时间