【发布时间】:2018-01-11 05:38:39
【问题描述】:
我正在浏览 BSON 源代码,发现了一些我以前从未见过的东西。
#if !defined(BSON_INSIDE) && !defined(BSON_COMPILATION)
#error "Only <bson.h> can be included directly."
#endif
上面的defined(XXXX) 宏是什么?我可以猜到它的作用,但我似乎找不到任何关于它的文档。它是否特定于某些编译器?它给了我关于 Microsoft Visual C++ 的 W4 警告(我正试图在我的项目中解决)。
【问题讨论】:
-
This preprocessor reference 可能会有所帮助。
-
工作方式类似于
#ifdef,但允许您创建多谓词条件而不是多个嵌套的#ifdef块。 -
你用谷歌搜索过“定义的 c”吗?
-
@MillieSmith 不,我输入了“宏”这个词!当我删除那个词时,它在第二页上 >
-
Google 运行良好。搜索“c defined”给出了第一个命中:gcc.gnu.org/onlinedocs/cpp/Defined.html。