| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 487 人关注过本帖
标题:宏定义问题,求助分析
只看楼主 加入收藏
yourhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-4-5
收藏
 问题点数:0 回复次数:5 
宏定义问题,求助分析
/* 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
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
我猜應該編譯就不會通過吧!
我沒想過這個問題
2006-04-05 13:58
yourhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-4-5
收藏
得分:0 
编译可以通过,
但是如果把int i = 0;给去了,则会编译出错,提示i没有定义。
2006-04-05 18:17
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 
以下是引用yourhero在2006-4-5 13:55:00的发言:
/* Example.c */
#include <stdio.h>
#define DEBUG printf
int main()
{
int i = 0;
DEBUG("Just for debug display. %d\n", i); //语句1
return 0;
}

--------------------------------------------------
请问:如上定义DEBUG_PRINTF为空时,语句1的编译是什么样的? 括号里的东西还要检查类型吗?还是本行就在预编译时就视作被注释了呢?
你的宏定义有错误

2006-04-05 22:32
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

你那用法条件编译才可以用到,我看你是想实现下面的功能
[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-05 22:43
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
快速回复:宏定义问题,求助分析
数据加载中...
 
   



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

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