C语言宏定义:define(fmt,arg...)和define(fmt,arg, ...)的区别。
来源:互联网 发布:淘宝购物车流量来源 编辑:程序博客网 时间:2024/06/11 19:39
本文转自 ☆★ 黑白前线 ★☆ - www.hackline.net 转载请注明出处,侵权必究!
原文链接:http://www.hackline.net/a/school/ymbc/C/2009/1024/1193_2.html
1. __VA_ARGS__
__VA_ARGS__ 将"..." 传递给宏.如
#define debug(format, ...) fprintf(stderr, fmt, __VA_ARGS__)
在GCC中也支持这类表示, 但是在G++ 中不支持这个表示.
2. GCC 的复杂宏
GCC使用一种不同的语法从而可以使你可以给可变参数一个名字,如同其它参数一样。
#define debug(format, args...) fprintf (stderr, format, args)
这和上面举的那个定义的宏例子是完全一样的,但是这么写可读性更强并且更容易进行描述。
其他好贴:
http://www.cppblog.com/BlueSky/archive/2007/11/20/37000.html
- C语言宏定义:define(fmt,arg...)和define(fmt,arg, ...)的区别。
- 060.Arg Define 带参数的宏定义
- 060.Arg Define 带参数的宏定义
- 可变参数的定义define(fmt,args...)
- 061.Arg Define 宏的更严谨的写法
- 061.Arg Define 宏的更严谨的写法
- C语言-#define宏定义
- C语言--typedef 和 #define 的区别
- const和#define宏定义的区别
- define宏定义和const常量定义之间的区别
- define宏定义和const常量定义之间的区别
- define宏定义和const常量定义之间的区别
- define宏定义和const常量定义之间的区别
- define宏定义和const常量定义之间的区别
- define宏定义和const定义之间的区别
- define宏定义和const常量定义之间的区别
- 【define宏定义和const常量定义之间的区别】
- define宏定义和const定义之间的区别
- 安装ubuntu分区挂载知识介绍
- 在C#中用SQLDMO创建SQL数据库
- 不能访问网站文件夹的问题
- 东芝X01T USB HOST数据线制作方法
- 123
- C语言宏定义:define(fmt,arg...)和define(fmt,arg, ...)的区别。
- .NET中的加密类(对称加密)
- 集群的负载均衡技术
- 本机端口扫描与关闭
- 全局变量定义
- 关于BinFS,Multi-XIP,Multi-Bin的理解
- 100部可以浓缩为一句话的名著
- CListCtrl用法
- 现在怎么每个网站都搞博客, 一点创意也没有。别人卖啥,自己也跟着卖啥,不新鲜