码迷,mamicode.com
首页 > 其他好文 > 详细

#undef取消宏定义

时间:2019-09-03 17:01:49      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:定义   地方   而在   main   编译问题   clu   必须   extern   c中   

  如果你想定义这个宏那就#define X

  如果你不想让你已经#define X的宏在其他地方由于引入这个包含宏定义的.h文件而引起一些编译问题,那你就#undef X掉,就这么简单。

  举个简单的例子:

  有1.c,11.h,12.h三个文件,其中在11.h中定义了#define X extern

  x int a;

  而在12.h中你又定义了#define X int

  x b;

  而在1.c中同时包含了这2个头文件,那就会引起一些问题,此时你必须把其中一个#undef掉来确保宏的正常。

  #include <stdio.h>
  int main(void)
  {
  #define MAX 200
   printf("MAX = %d\n",MAX);
  #undef MAX
  #define MAX 300
   printf("MAX = %d\n",MAX);
   return 0;
  }

技术图片

 

 

  
 
 

技术图片

 

#undef取消宏定义

标签:定义   地方   而在   main   编译问题   clu   必须   extern   c中   

原文地址:https://www.cnblogs.com/wjq13752525588/p/11453515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!