标题:宏定义问题,求助分析
取消只看楼主
yourhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-4-5
 问题点数:0 回复次数:2 
宏定义问题,求助分析
/* Example.c */
#include <stdio.h>
#define DEBUG_PRINTF

int main()
{
int i = 0;
DEBUG_PRINTF("Just for debug display. %d\n", i); //语句1
return 0;
}

--------------------------------------------------
请问:如上定义DEBUG_PRINTF为空时,语句1的编译是什么样的? 括号里的东西还要检查类型吗?还是本行就在预编译时就视作被注释了呢?
搜索更多相关主题的帖子: 定义 
2006-04-05 13:55
yourhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-4-5
得分:0 
编译可以通过,
但是如果把int i = 0;给去了,则会编译出错,提示i没有定义。
2006-04-05 18:17
yourhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-4-5
得分:0 
你的意思我清楚,但是我目的是想问一下当DEBUG_PRINTF为空的时候,是怎么编译和预编译的,借此和大家讨论一下,并不是想实现一个功能。
以下是引用feng1256在2006-4-5 22:43:00的发言:

你那用法条件编译才可以用到,我看你是想实现下面的功能
[CODE]
/* Example.c */
#include <stdio.h>
#define DEBUG_PRINTF printf

int main()
{
int i = 0;
DEBUG_PRINTF("Just for debug display. %d\n", i);
return 0;
}
[/CODE]

2006-04-06 09:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-55248-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.315531 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved