2017-09-21

猎数博客

数据挖掘,机器学习

变长参数的宏

作者:江航 / 2012-01-16 / (阅读 1,302 次) /



在宏定义中,希望能够制定变长参数,方法是GCC中使用##

#define printf(args…)   fprintf(stdout, ##args)

那么,printf(“%d %s”,123,”hello”)

会被展开成

fprintf(stdout,”%d %s”,123,”hello”)

而在VC环境下,可以用__VA_ARGS__这个编译器内置的宏

#define printf(…) fprintf(stdout, __VA_ARGS__)



本文地址: http://www.bagualu.net/wordpress/archives/1200 转载请注明






相关文章

  • GDB 找不到源代码( 9,621 )
  • 如何识别C++编译以后的函数名(demangle)( 9,522 )
  • vim 获取当前文件名( 8,198 )
  • 程序性能分析之Valgrind( 4,568 )
  • GDB 查看内存/指针( 4,221 )
  • 怎样获得动态链接库的装载地址( 3,963 )
  • 用printf 输出64位整数( 3,849 )
  • gdb debug 信息 stabs 格式( 3,486 )
  • vim 多文件搜索并实现自动跳转( 3,471 )
  • gdb batch mode( 2,649 )
  • Leave a Reply

    您必须登录以发表评论,

    沪ICP备11036560号
    联系我: jianghang at bagualu.net