在#ifdef或#ifndef中有多个#define

Multiple #define within #ifdef or #ifndef

本文关键字:#define #ifdef #ifndef      更新时间:2023-10-16

这是一个简单的问题,但我以前从未遇到过类似的代码来知道答案。基本上,我可以在一个#ifdef或#ifndef语句中有两个以上的#define吗?例如:

    #ifdef __GNUC__
        #define HELLO(x) x
        #define WORLD(y) y
    #else
        #define __attribute__(x)
        #define expect(expression, value) (expression)
    #endif

感谢

你当然是。这是完全正确的。

预处理器块中可以有任意数量的C语句或预处理器指令。

是的,在#ifdef/#ifndef之间可能有同样多的预处理器指令,或者只有普通的C++语句。。。[#else]。。。#endif块。

这是一个很简单的问题,你可能应该在问之前先试一下。