在vc中,如何实现可变宏? C99编译器支持这样的格式:#define debug(…) printf(__VA_ARGS__),但是vc环境下编译出错,有什么办法可以在vc下使用可变参数宏? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #define debug(p) printf(p)debug( ("%d", i) ); 不好意思,是我没有把问题说清楚,我想实现的是可以根据条件输出格式如:"Debug function_name line ……"的语句,所以直接#define debug printf不合适;#define debug(p) printf(p)debug( ("%d", i) );我试了,如果打印语句是这样:debug(("%d %d %s \n", 2, 7, "hello")); 则输出结果:hello 我又试了一下,定义:#define debug(p) printf##p,输出结果2 7 hello。 还有一种办法: #define DEBUG(args) (printf("DEBUG: "), printf(args)) #define _ , DEBUG("i = %d" _ i); 孙鑫 VC++ 深入浅出 第一章的编程问题 如何根据一个矩阵显示出图像 请教:如何在VC中绘制Excel的饼状图和柱状图 怎样避免使用MoveWindow移动控件后的晃动?? ATL初学者,各位能否推荐几本入门书籍 如何编程使鼠标双击变单击? CToolbar的风格问题 哪位VC程序员有过在VC中嵌入汇编的编程经验?一个很小的问题 请问:如何改变一个系统托盘菜单的菜单项标题,无论哪一种方法,只要能解决问题,必将高分相赠! 关于字体的问题 VC ADO SYBASE ODBC 高分求高手帮助!每次运行程序报错的行数都不确定是怎么回事啊?
debug( ("%d", i) );
我试了,如果打印语句是这样:debug(("%d %d %s \n", 2, 7, "hello")); 则输出结果:hello
#define debug(p) printf##p,输出结果2 7 hello。
#define DEBUG(args) (printf("DEBUG: "), printf(args))
#define _ , DEBUG("i = %d" _ i);