在#ifdef或#ifndef中有多个#define
Multiple #define within #ifdef or #ifndef
这是一个简单的问题,但我以前从未遇到过类似的代码来知道答案。基本上,我可以在一个#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
块。
这是一个很简单的问题,你可能应该在问之前先试一下。
相关文章:
- #ifdef和未声明的标识符
- C++ Macros #ifdef
- 与C代码相比,为什么C++代码不需要"#define _POSIX_C_SOURCE 200809L"?
- 以下 C++ 代码用于 -> "#define idiv(a, b) (((a) + (b) / 2) / (b))" 是什么?
- 如何以静态代码分析友好的方式使用 #define 防护?
- C++相当于整数的 #define
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- 我们可以用 C 语言嵌套 #define 和 #if 吗?
- 如何将旧的 C 样式 #define 映射与现代C++进行调整?
- 找不到 #define 的函数定义
- 更新 #ifdef 中的现有变量值?
- "#define X X"是什么意思?
- 使用 constexpr 替换 #define 和 #ifdef 进行条件编译
- 使用 [#define & #ifdef] 跨文件激活代码块
- C #define 嵌套在 #ifdef 中
- C++类,对 #ifdef,#define 和 #endif 的守卫混乱
- 在#ifdef或#ifndef中有多个#define
- 在 Linux 上C++ - 如何 #define #ifdef/#endif 调试条件