2

查看 config.h 中的代码:

#if (API_TYPE == 1)
    #define URL_API @"https://dapi.xxx.com/1.1/"
#elif (API_TYPE == 2)
    #define URL_API @"https://tapi.xxx.com/1.1/"
#elif (API_TYPE == 3)
    #define URL_API @"https://api.xxx.com/1.1/"
#else
   // I want stop pre-compile if in here.
   // assert(0);
#endif

API_TYPE 只能定义为 1,2,3。如果定义为其他值是错误的。我可以在#else 路径中编写一些非法代码。但它并不完美。如果它进入#else 路径,是否有任何命令或方法可以停止预编译过程?

4

2 回答 2

7

您可以 insert #error "Error message",这将停止预处理并且编译甚至不会开始。

于 2012-08-10T11:46:38.117 回答
2

使用#error

http://en.wikipedia.org/wiki/C_preprocessor#User-defined_compilation_errors

于 2012-08-10T11:47:55.920 回答