C/C++中可以用 #undef xxx 来取消 宏xxx 的定义。

举例如下

#include <iostream>
using namespace std;int main(int argc, char *argv[])
{// xxx is definedbool b = true;#define xxx#ifdef xxxcout << "xxx is defined #1" << endl;     // this line is printed
#endif// undefine xxx
#ifdef xxx#undef xxxb = true;
#endif#ifdef xxxcout << "xxx is defined #2" << endl;     // not printed
#endif// define xxx againif (b){
#define xxx}#ifdef xxxcout << "xxx is defined #3" << endl;     // printed
#endifreturn 0;
}

结果输出:

xxx is defined #1
xxx is defined #3

linux c 取消宏定义相关推荐

  1. c语言解除宏定义_3.3.5 取消宏定义和重新定义宏

    3.3.5   取消宏定义和重新定义宏 #undef命令可以取消定义一个名称为宏:#undef name 这个命令使预处理器忘记name的所有宏定义.取消一个当前未定义宏的定义并不是错误.当一个名称被 ...

  2. cmake取消宏定义_CMake基本使用

    cmake是个很方便的构建系统.官方的文档写的很明白,就是有点长.于是,根据自己的使用情况,挑选其中最重要的,简要说明于下: CMakeLists.txt的编写 CMakeLists.txt的命令不区 ...

  3. Linux内核代码宏定义,Linux Kernel源代码中与段有关的重要宏定义

    __init, __initdata等属性标志,是要把这种属性的代码放入目标文件的.init.text节,数据放入.init.data节──这一过程是通过编译内核时为相关目标平台提供了xxx.lds链 ...

  4. 【GCC系列】深入理解Linux内核 -- __no_sanitize_address宏定义

    本文使用的Linux源码内核版本:Linux 5.10.0 __no_sanitize_address宏定义: 在Linux的内核源码里,尤其是一些关键的内核函数,会包含__no_sanitize_a ...

  5. 【GCC系列】深入理解Linux内核 -- __visible宏定义

    __visible宏定义 在Linux的内核源码里,尤其是一些关键的内核函数,会包含__visible宏,它是用来做什么的呢? asmlinkage __visible void __init __n ...

  6. linux 内核 THIS_MODULE宏定义详解

    结构体struct module在内核中代表一个内核模块,通过insmod(实际执行init_module系统调用)把自己编写的内核模块插入内核时,模块便与一个 struct module结构体相关联 ...

  7. Linux中THIS_MODULE宏定义详解

    一直都在耿耿于怀,这个THIS_MODULE到底是个什么玩意,linux内核中无处不在的东西.今天上网搜了一下,算是基本明白了.网上牛人写的已经比较详细,另外目前暂时没有时间往更深层次分析,所以直接贴 ...

  8. cmake取消宏定义_魔兽怀旧服,牧师实用宏

    相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以将这些命令按照自己对条件的设置串联起来,比如:/Kneel是让你跪下来的动作而/say就是最基础的对话动作 我们现在用一个宏把 ...

  9. Linux内核--各种宏定义

    1. asmlinkage宏 [cpp] view plaincopy #define asmlinkage __attribute__((regparm(0))). 解释:gcc编译器在汇编过程中调 ...

最新文章

  1. python主要运用于-Python八大主要应用领域,你都知道吗?
  2. 用枚举enum实现单例
  3. python报错cannot import name ‘BeautifulSoup‘ from ‘bs4‘
  4. P2115 [USACO14MAR]破坏Sabotage
  5. Java专项面试训练(一)
  6. node mysql 事件循环_nodejs事件和事件循环详解
  7. FPGA——按键消抖
  8. Unity 3D网页游戏与flash网页游戏的较量
  9. 叉乘点乘混合运算公式_小学数学所有公式和顺口溜都在这里了,考试肯定能用到!...
  10. java 多媒体处理_Java 多媒体处理包 JAVE
  11. 嘉兴学院计算机研究生导师,延安大学—嘉兴学院联合培养硕士研究生导师见面会召开...
  12. Eclipse笔记-关于Maven Pom Editor的一个小问题
  13. oracle 与plc通信,cim系统(com系统和plc的通讯)
  14. 关于联想Y700,玩游戏闪屏
  15. 视频号怎么吸引眼球,视频号内容如何吸引用户观看:国仁网络资讯
  16. STM32HAL库驱动DHT11和BH1750
  17. 别学AI了!90%的人编程能力差,其实都是输在了这点上!
  18. 考研英语 - word-list-50
  19. 手把手教你入门 Git 教程,图文实例详解
  20. Dell PowerVault TL2000 Tape 磁带机日志查错误磁带

热门文章

  1. 5G NGC — SMF 会话管理功能
  2. [Nova] Failed to get shared write lock Is another process using the image?
  3. NanoPi NEO Air使用十五:使用V4L2驱动USB摄像头
  4. tftp下载内核和文件系统
  5. Confluence 6 找到在创建 XML 备份的时候出现的错误
  6. NIOS2随笔——DMA(1)
  7. 从零开始制作自己的podspec
  8. Tushare的安装
  9. Zabbix监控之常用snmp-OID
  10. chcon命令 selinux 配置等