可变参数宏

转载 2004年08月13日 08:32:00

新的C99规范支持了可变参数的宏,具体使用如下:


以下内容为程序代码:

 #include <stdarg.h>
 #include <stdio.h>

 #define LOGSTRINGS(fm, ...) printf(fm,__VA_ARGS__)

 int main()
 {
      LOGSTRINGS("hello, %d ", 10);
      return 0;
 }
 

 但现在似乎只有gcc才支持。

人工智能点点通案例课程-Python智能告诉你哪个酒店更好

-
  • 1970年01月01日 08:00

VC:使用可变参数宏

VC6是不支持可变参数宏的,VC2005支持。 使用如下: #define TRACE(pszFormat, ...) \  CTL_CommonLogger::Output(LOGGER, L...
  • guoduhua
  • guoduhua
  • 2012-09-11 11:00:59
  • 537

C/C++可变参数宏, 编译期获取宏的可变参数长度

C/C++可变参数宏, 编译期获取宏的可变参数长度
  • zwc122
  • zwc122
  • 2016-08-23 15:42:57
  • 922

可变参数宏的原理及作用

有什么作用呢? 主要是为了方便管理软件中的打印信息。我们在写代码或者修改bug时通常会将一些重要参数打印出来,方便我们debug,但是软件发行的时候通常我们不希望有这些打印,可变参数宏就可以...
  • haoyuedangkong_fei
  • haoyuedangkong_fei
  • 2016-11-10 11:02:36
  • 745

Windows下C/C++可变参数宏实现技巧

Windows下C/C++可变参数宏实现技巧在开发过程中,有很多阶段,每个阶段可能会注重不同的重点,我们可能会在不同阶段让程序输出或者打印不同的信息以反应运行的情况,所以我们必须分阶段的使得程序输出我...
  • weide001
  • weide001
  • 2009-06-12 10:25:00
  • 14264

C语言可变参数在宏定义中的应用

在C语言的标准库中,printf、scanf、sscanf、sprintf、sscanf这些标准库的输入输出函数,参数都是可变的。在调试程序时,我们可能希望定义一个参数可变的输出函数来记录日志,那么用...
  • xyang81
  • xyang81
  • 2014-11-17 23:06:36
  • 4227

C++ 11 可变参数宏结合可变参数模板使用!

template struct register_t { register_t(const std::string& key) { map_.emplace(key, ...
  • zwc122
  • zwc122
  • 2016-01-04 12:38:07
  • 1102

C++学习 可变参数的宏定义小技巧

printf()和fprintf()这些输出函数的参数是可变的,在调试程序时,你可能希望定义自己的参数可变的输出函数, 那么可变参数宏会是一个选择。 C99中规定宏可以像函数一样带有可变参数,比如 ...
  • skdkjxy
  • skdkjxy
  • 2015-07-13 10:03:01
  • 2824

C语言可变参数宏定义方法

在GNU C中,宏可以接受可变数目的参数,就象函数一样,例如:  1 2 #define pr_debug(fmt,arg...) \ ...
  • skyflying2012
  • skyflying2012
  • 2014-08-08 11:21:17
  • 4258

linux下可变参数及宏定义封装函数

以下函数包含内容:a 使用宏封装可变参函数 b 可变参数。比较简单,无注释。   两个函数均可以打印出调用者的文件、函数、行号信息。需要参考该代码的,拿走不谢!   #include  #includ...
  • u014260236
  • u014260236
  • 2016-03-18 13:42:00
  • 2103
收藏助手
不良信息举报
您举报文章:可变参数宏
举报原因:
原因补充:

(最多只允许输入30个字)