现在的位置: 首页 > 综合 > 正文

c语言中编写可变参数宏 | define 多参数

2013年08月27日 ⁄ 综合 ⁄ 共 417字 ⁄ 字号 评论关闭

引入问题:

用Eclipse 编译一个Windows 命令行 C工程,但是在Console里面总是不能及时输出,只会在最后程序退出的时候一次输出来,对于IOT来讲,很麻烦。

 

Google上,需要flush stdout,于是需要在每个printf后调用fflush(stdout);才可以甚是麻烦,于是想到

 

#define PRINTF

 

来替换printf,但是在 多参数宏方面遇到问题。

 

最后用到文中的这个例子解决了:

 

#define PRINTF(out, ...) printf(out, ## __VA_ARGS__); fflush(stdout);

 

 

参考文章:1. eclipse cdt中console的奇怪现象 http://www2.eclipseworld.org/bbs/read.php?tid=18458

 

2. c语言中编写可变参数宏 http://blog.chinaunix.net/u/28470/showart_348873.html

抱歉!评论已关闭.