C/C++预编译指令

来源:互联网 发布:ipad下不了软件 编辑:程序博客网 时间:2024/04/28 19:55

编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。

下面举个例子:
程序中往往有很多的预处理指令
#ifdef XXX
...
#else

#endif

当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:

#ifdef XXX
...
#error "XXX has been defined"

#else

#endif

这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。

   预编译指令             用途         #           空指令,无任何效果         #include    包含一个源代码文件         #define     定义宏         #undef      取消已定义的宏         #if         如果给定条件为真,则编译下面代码         #ifdef      如果宏已经定义,则编译下面代码         #ifndef     如果宏没有定义,则编译下面代码         #elif       如果前面的#if给定条件不为真,当前条件为真,则编译下面代码         #endif      结束一个#if……#else条件编译块         #error      停止编译并显示错误信息
0 0
原创粉丝点击