#undef取消宏定义
Posted wjq13752525588
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#undef取消宏定义相关的知识,希望对你有一定的参考价值。
如果你想定义这个宏那就#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取消宏定义的主要内容,如果未能解决你的问题,请参考以下文章