<分区>
#include <stdio.h>
#define DEBUG
#ifdef DEBUG
#define MAGIC 5
#endif
int main(void){
printf("\n magic is %d",MAGIC);
return 0;
}
现在我想取消DEBUG所以这个程序应该给出编译错误
gcc test.c -U DEBUG
但它不会给出任何错误并且工作正常。
这意味着 -U
不起作用。
那么我如何在 gcc 的编译时取消定义任何名称?