我看到了一个示例代码,链接在这里:
#ifdef WIN32
...
#elif WIN64
...
#endif
在一个`#ifdef`块中,使用`#elif`表示`#elif defined`是否合法?
我看到了一个示例代码,链接在这里:
#ifdef WIN32
...
#elif WIN64
...
#endif
#elifdef FOO
(我从未在生产代码中见过),或者#elif defined(FOO)
(就像你提到的那样)。WIN32
是否已定义,然后检查WIN64
是否非零。
#elif
。 - Felix DombekWINxx
被定义为1,这段代码并不严格错误,只是有点奇怪(可能不是他们想要的)。请记住,在表达式中未定义的名称会扩展为0,因此这是不合法的类型,但是有效的逻辑。 - Alex Celeste#define WINxx 1
,而不是#define WINxx
。 - The name's Bob. MS Bob.