【发布时间】:2010-11-10 21:25:23
【问题描述】:
问题标题应该说明一切,但这里有一个我正在寻找什么样的东西的例子:
#ifndef THE_IDENTIFIER_THAT_WOULD_INDICATE_BEING_COMPILED_AS_CPLUSPLUS
/*
* Example of something that would matter.
*/
typedef enum _bool bool;
enum _bool { false, true };
#endif
什么是标识符?这严重困扰着我,因为我知道我以前见过这样做的代码。
顺便说一句,我正在使用 GCC。
(我很惊讶我在 SO 的某个地方找不到重复的内容。如果其他人可以找到,请随时重定向我并将其作为欺骗对象关闭。)
【问题讨论】:
-
它是
__cplusplus。该宏由 C++ 编译器定义。复制自:stackoverflow.com/questions/3858308/… -
顺便说一句:C99 添加了一个名为
_Bool的原生布尔类型,如果包含<stdbool.h>,则别名为bool -
另见Preprocessor directive to test if this is C or C++了解
extern "C"和一些处理方法。 -
我觉得有趣的是 6 个答案和一条说明答案的评论同时输入:
Nov 10 '10 21:27
标签: c++ gcc c-preprocessor