常见的预处理指令如下:
预定义指令名称 | 含义 |
---|
#define | 宏定义 |
#undef | 撤销已经定义过的宏名 |
#include | 使编译程序将另一源文件嵌入到另一源文件中 |
#if | 条件预编译 |
#else | 条件预编译的else分支 |
#elif | 条件预编译的else if分支 |
#endif | 结束条件预编译执行 |
#ifdef | 如果有定义XXX宏 |
#ifndef | 如果没有定义XX宏 |
#line | 改变当前行数和文件名称 |
#error | 编译错误 |
#pragma | 可以设定编译程序完成一些特定的动作 |
__ LINE__ | 表示正在编译的文件的行号 |
__ FILE__ | 表示正在编译的文件的名称 |
__ DATE__ | 表示编译时刻的日期字符串 |
__ TIME__ | 表示编译时刻的时间字符串 |
__ STDC__ | 判断该文件是不是定义为标准C程序 |
其中#pragma预处理又可以扩展为以下比较常见的预处理指令:
名称 | 含义 |
---|
#pragma message(“消息文本”) | 表示在编译输出窗口中将消息文本打印出来 |
#pragma code_seg([“section-name”[,“section-class”]]) | 设置程序中函数代码存放的代码段 |
#pragma hdrstop | 表示预编译头文件到此为止 |
#pragma resource “xxx” | 表示把xxx文件中的资源加入工程 |
#pragma warning() | 设置警告的告警方式’ |
#pargma comment(…) | 将一个注释记录放入一个对象文件后者可执行文件中 |
#parame waring用法 | 含义 |
---|
#pragma warning(disable:12 34) | 不显示12和34号警告信息 |
#pragma warning(once:1234) | 1234号警告信息仅报告一次 |
#pragma warning(error:1234) | 1234号警告信息作为一个错误 |
#pragma warning(push) | 保存所有警告信息现有的警告状态 |
#pragma warning(push,n) | 保存所有的警告信息现有的警告状态,并且把全局警告等级设置为n |
#pargma comment | 用法 |
---|
#pargma comment(lib,“user.lib”) | 将user.lib加入到本工程中 |
#pargma comment(linker,"/inlude:__mySymbol") | 将一个链接选项放入到目标文件中 |