我在Windows 7上使用Code :: Blocks 10.05。我怀疑的是菜单项
管理 - >符号 - >全局宏。
我使用头文件1.h,
有以下名为1.c的程序1.C
#include "1.h"
#define CONSTANT 4
#define M() x*x
int x=CONSTANT,y=9;
int main()
{
printf("\nAnswer 1 is %d\n",P());
printf("\nAnswer 2 is %d\n",N(y));
}
1.H
#include<stdio.h>
#define N(x) x*x*x
#undef P()
#define P() x*x*x*x
但是程序中定义的所有宏都显示为预处理程序符号而不是全局宏。为什么会这样?我们如何将宏声明为全局宏,以便它显示在Code :: Blocks的全局宏菜单中?
预处理器符号列表如下所示,供参考,
# CONSTANT 4
# M:x*x
# N:x*x*x
# P:x*x*x*x
提前感谢你。