c++ - #if 0 && defined(_LP64) 如何为真?

标签 c++ c macros typedef c-preprocessor

从头文件 ncurses.h 看,#if 的用途是什么,因为我认为 #if 0 将始终返回 false,控制将始终转到 #else 部分?

#if 0 && defined(_LP64)
typedef unsigned chtype;
typedef unsigned mmask_t;
#else
typedef unsigned long chtype;
typedef unsigned long mmask_t;
#endif

最佳答案

这永远不会是真的。很可能 _LP64 曾经是相关的,但现在不再是这样了,为了注释掉所有相关的代码,程序员在 0 中加上了

关于c++ - #if 0 && defined(_LP64) 如何为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10714038/

相关文章:

c++ - 如何在 C/C++ 中开发独立于平台的电子书阅读器?

c - memset 设置值不正确

c++ - 宏控制调试

macros - 如何在不使用 `eval` 的情况下编写此宏?

c++ - 你可以在C++中将全局变量初始化为什么

c++ - '--p' 在 for(p=&(*L).elem[(*L).length-1];p>=q;--p) 中如何工作?

c++ - 为什么它在输出末尾确实返回 0

c++ - std::cout 在屏幕上显示十六进制而不是文本

使用 Arduino IDE 创建 I2C 光传感器的回调函数

c# - 定义要在构建事件中使用的自定义宏