预处理指令以#开头,#号之前不能有除了空白字符之外的任何字符。每一个指令独占一行。 预处理指令只能使用上面列出的指令,使用其他未定义指令会报错。
完整的预处理器指令如下:
#
#define
#undef
#if
#ifdef
#ifndef
#else
#elif
#endif
#error
#pragma
#extension
#version
#line
下面的这个操作符也是合法的:
#define and #undef
这两个和C++中的用法完全一样,不做过多说明
#if, #ifdef, #ifndef, #else, #elif, and #endif
这几个也基本和C++的用法一样,不过有下面几点差别。
1. #if和#elif只能判断int类型,0为false,非0为true
2. 不支持string类型
#pragma
编译指示。用来控制编译器的一些行为。
#pragma optimize(on)
#pragma optimize(off)
在开发和调试时可以设置为off,默认设为on。
#pragma debug(on)
#pragma debug(off)
在开发和调试时可以打开debug选项,以便获取更多的调试信息。默认设为off。
#pragma multi_compile FANCY_STUFF_OFF FANCY