使用或运算符的多个值为#Define常数
multiple values to a #define constant using or operator
#define DEFAULT_IPV4_PING_TYPES (PINGTYPE_ICMP_PING|PINGTYPE_TCP|PINGTYPE_TCP_USE_ACK|PINGTYPE_TCP_USE_SYN|PINGTYPE_ICMP_TS)
上述语法实际上有什么作用?以下是常数的值。
#define PINGTYPE_ICMP_PING 2
#define PINGTYPE_TCP 16
#define PINGTYPE_TCP_USE_SYN 64
#define PINGTYPE_ICMP_TS 8
是创建数组吗?
此宏定义了所有ping类型的掩码。
它是位操作
与
相同#define PINGTYPE_ICMP_PING 0x2
#define PINGTYPE_TCP 0x10
#define PINGTYPE_TCP_USE_SYN 0x40
#define PINGTYPE_ICMP_TS 0x8
当您进行钻头或获得
时0x2 | 0x10 | 0x8 | 0x40 = 0x5A
以二进制格式更清楚(使用8位用于简化)
00000010 (2)
01000000 (64)
00001000 (8)
00010000 (16)
=============
01011010 (5A)
相关文章:
- 与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错误:在文件范围内
- 我们可以用 C 语言嵌套 #define 和 #if 吗?
- 如何将旧的 C 样式 #define 映射与现代C++进行调整?
- 为什么 g++ 使用 movabs 和一个奇怪的常数来简单还原?
- 找不到 #define 的函数定义
- "#define X X"是什么意思?
- 使用 constexpr 替换 #define 和 #ifdef 进行条件编译
- 野牛/flex:计算器将双精度值解释为整数,所以我添加了 YYSTYPE 双精度 #define 但我有多个编译错误
- 如何解决C++中声纳库贝静态代码分析错误"Explicitly define the missing copy constructor, move constructor .."
- c中 #define 的不足
- 使用 [#define & #ifdef] 跨文件激活代码块
- 如何避免#define语法的变量重新声明
- 为什么在C++负数static_cast如果<unsigned>数字是常数,则不同
- 使用或运算符的多个值为#Define常数
- 定义复常数 "i" C++(#define vs 常量)