预处理 #error 的作用

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

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

#endif

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

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

#else

#endif

 

如果 XX 被定义了的话,编译的时候编译器就会报错,error c320 "XX has been defined".

所以 用#error 可以用于检查一个宏是否已经被定义了。

你可能感兴趣的:(预处理 #error 的作用)