原本用宏定义包起来的代码类似如下:

#ifndef A
// codes
#endif // A

现在要加入一个宏定义 B,实现类似这样的条件判断(显然实际上这样是不行的):

#ifndef A && ifdef B

其实应该这样:

#if (!defined A) && (defined B)
// codes
#endif // !A && B

这就修正了之前一直以为的“既生 #ifdef,何生 #if defined”的思维,其实还是有差别的。

trackback: http://wutiam.net/2009/08/logical-and-or-operation-in-ifdef/

转载于:https://www.cnblogs.com/JohnShao/archive/2011/08/24/2152664.html

#ifdef 中的逻辑与或操作相关推荐

  1. 刘帅嵌入式系统-EOR逻辑异或操作指令

    EOR指令将< shifter_operand > 表示的数值与寄存器< Rn >值按位做逻辑异或操作,并把结果保存到目标寄存器< Rd > 中,同时根据操作的结果 ...

  2. 在C++程序中添加逻辑流程控制

    在C++ 程序中添加逻辑流程控制          问题的引出 在计算机程序中,除了常见的执行流程控制,还有逻辑流程控制:有时,执行流程即为逻辑流程,但在大多数情况下还是有所区别的,例如,假定有一个W ...

  3. Linux中LVM(逻辑卷管理)的使用

    Linux 中我们使用fdisk命令划分好的分区就不能随意的改变,如果不够用的话不可能说把硬盘上的所有数据拷贝后再重新分区,这样可能会导致数据损坏.而在linux中LVM(逻辑卷管理)就可以实现动态的 ...

  4. C++中的逻辑操作符重载

    文章目录 1 C++中的逻辑操作符重载 1.1 逻辑操作符的原生语义 1.2 重载逻辑操作符 1.3 逻辑操作符重载的建议 1 C++中的逻辑操作符重载 1.1 逻辑操作符的原生语义 逻辑操作符的原生 ...

  5. Oracle大的存储层次体系,Oracle 数据库中的逻辑存储层次体系

    数据库由一个或多个表空间构成.表空间(tablespace)是 Oracle 中的一个逻辑存储容器,位于存 储层次体系的顶层,包括一个或多个数据文件.这些文件可能是文件系统中的 cooked 文件.原 ...

  6. 理解SQL SERVER中的逻辑读,预读和物理读

    在我的上一篇关于SQL SERVER索引的博文,有圆友问道关于逻辑读,预读和物理读的概念.我觉的还是写一篇博文能把这个问题解释清楚. SQL SERVER数据存储的形式 在谈到几种不同的读取方式之前, ...

  7. promise的三种状态_一.Promise中核心逻辑的实现

    首先看一下Promise代码: let promise =new Promise((resolve,reject)=>{resolve('成功');//reject('失败'); }) prom ...

  8. ai逻辑回归_人工智能中的逻辑是什么?

    ai逻辑回归 人工智能逻辑 (Logic in Artificial Intelligence) Logic, as per the definition of the Oxford dictiona ...

  9. 状态机 复杂逻辑问题_状态管理中的逻辑

    状态机 复杂逻辑问题 by Oguz Gelal 由Oguz Gelal 状态管理中的逻辑 (The Logic in State Management) The standardization of ...

最新文章

  1. 重复数据删除(De-duplication)技术研究
  2. 解决yarn全局安装模块后但仍提示无法找到命令的问题
  3. linux服务器部署laravel出现putenv() has been disabled for security reasons
  4. 招人啦!安卓/Java/数据库/测试等一大波岗位袭来
  5. 悟透delphi 第十一章 面向对象数据库基础
  6. Eclipse Debug 配置
  7. 从零实现深度学习框架——优化反向传播相关代码
  8. 23矩阵——LU分解、用LU 分解解线性方程组、LU分解的存在性和唯一性、对称矩阵的 L D L 分解、置换矩阵、PA=LU 分解
  9. SLA服务可用性怎么达到?
  10. 含泪整理上万射击枪战游戏源码素材,你想要的这里都有!
  11. CentOS 安装 fd-find
  12. 163企业邮箱 端口服务器,163企业邮箱端口
  13. 正则表达式基础语法大全
  14. Android根据包名获取APP名称
  15. Visual Studio 2017美化(修改字体,图片背景)
  16. 用极大似然法估计因子载荷矩阵_[转载]第三十六课         因子分析
  17. 【论文阅读】(2022)A goal-driven ruin and recreate heuristic for the 2D variable-sized bin packing prob...
  18. android如何加密手机号码,手机如何加密?
  19. ios系统邮件怎么绑定QQ邮箱
  20. SiTime 硅晶振与石英晶振的区别

热门文章

  1. 【深度学习入门到精通系列】关于梯度下降和反向传播的探索
  2. python【蓝桥杯vip练习题库】ADV-304矩阵转置
  3. java numberutil_NumberUtil
  4. mysql group by取条数最多_mysql获取group by总记录行数的方法
  5. thymeleaf中遇到的坑
  6. linux 测试vim编译器_推荐几个好用的在线编译器
  7. SEO优化如何“搭乘”线上营销推广“列车”?
  8. php新闻模块,新闻模块实现
  9. 一行代码快速搞定Flowable断点下载(上)
  10. 开发日记-20190719 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 12