#if 0 && defined(_LP64)是如何成立的?

man*_*m-n 2 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
Run Code Online (Sandbox Code Playgroud)

Dav*_*ave 10

它永远不会是真的.它可能_LP64曾经是相关的,但它不再是这样,并且为了注释掉所有相关的代码,程序员的结果为0.


Ron*_*kal 8

它永远不会是真的.它可能是这样编写的,用于注释掉代码块而不是使用/**/commenting.