我遇到过这样的some example code:
#ifdef WIN32
...
#elif WIN64
...
#endif在#ifdef块中,使用#elif来表示#elif defined实际上合法吗?
发布于 2014-08-22 16:22:22
不,不应该。这并不是说某些晦涩的C编译器不会接受它,但它不是C标准的一部分。
通常,对于这种情况,您可以使用#elifdef FOO (我在生产代码中从未见过),也可以使用#elif defined(FOO) (正如您提到的)。
这段代码似乎以一种奇怪的方式工作;它首先检查是否定义了WIN32,然后检查WIN64是否为非零。
https://stackoverflow.com/questions/25451376
复制相似问题