请教个关于define的问题
											我在http://yzfy.org/发现每个函数的前面都有#define PB_ID 1#define CP_GCC 是什么意思啊,难道是dev-c++里面c程序开始的定义必须这样?
	    2007-08-28 12:17
  



	    2007-08-28 12:50
  
	    2007-08-28 12:52
  



你的域名收费么?

	    2007-08-28 12:58
  楼上跑题了。
宏定义是根据不同程序的需求而定义的,我举个例子,比如说我有个函数需要调试
void foo()
{
    char s[80]; /* 我这里定义了个数组s */
    .
    .
    .           /* 经过若干步骤,s的值改变了 */
    printf("%s\n",s); /* 这里我要检查s的改变,是否符合我最初的目的,而这段语句并不希望出现在发布后的程序中,可作为调试部分语句 */
}
于是,我想到了使用一个宏来表示应用程序是否出于调试状态
#define _DEBUG_
那么如下的函数改写成
void foo()
{
    char s[80];
    .
    .
    .
#ifdef _DEBUG_ /* 若_DEBUG_这个符号被定义,即调试状态,则编译以下语句 */
    printf("%s\n", s);
#endif
}
如果你把#define _DEBUG_这一行注释掉,编译的时候不会将printf语句编译进去了,也就是发布版本不会出现有输出的情况,如下
void foo()
{
    char s[80];
    .
    .
    .
} /* 去掉_DEBUG_编译的是这样一个情况 */

	    2007-08-31 10:00
  



	    2007-08-31 10:11