引入问题:
用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