变长参数定义
来源:互联网 发布:ubuntu 17.10 下载 编辑:程序博客网 时间:2024/05/22 02:00
#include <stdarg.h>#define LOGSTRINGS(fm, ...) printf(fm,__VA_ARGS__) 这个用的时候必须要带参数 C99 # define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args) 海盗船长() 09:24:23#define LOGSTRINGS(fm, ...) printf(fm,__VA_ARGS__) 这个用的时候必须要带参数,不然报错。。#define LOGSTRINGS(fm, ...) printf(fm,##__VA_ARGS__) 这样就不带参数也可以了海盗船长() 09:52:20而且#define LOGSTRINGS(fm, ...) printf(fm,##__VA_ARGS__) 。。vs2005都可以编译通过# define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)。。vs2005编译不过今天QQ群里有人问到变长参数的问题,记到语法,第一想到就是LDD里面的代码示例,第四章内核调试示例里面,__VA_ARGS__ 是C99里面的,现在的GCC都支持,在ADS 1.2, 还有C++Builder 6下面编译失败,为了方便以后查找,存BLOG里以下来自LDD#undef PDEBUG /* undef it, just in case */ #ifdef SCULL_DEBUG # ifdef __KERNEL__ /* This one if debugging is on, and kernel space */# define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args) # else /* This one for user space */ # define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args) # endif #else# define PDEBUG(fmt, args...) /* not debugging: nothing */ #endif #undef PDEBUGG#define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */
0 0
- 变长参数定义
- 变长参数的函数定义
- 变长参数的宏定义
- 如何定义变长参数个数的函数
- 变长参数
- 变长参数
- 变长参数
- 变长参数
- 变长参数
- 变长参数
- 如何在宏定义中使用变长参数
- jdk5.0新特性之定义变长参数函数
- 变长参数的 Tracer
- 变长参数应用举例
- C变长参数
- [原]关于变长参数
- 变长参数的 Tracer
- 变长参数的 Tracer
- Telerik Adjax 使用方法
- UIView的contentMode属性
- Telerik ajax 控件学习笔记 - Ajax
- 强盗分金币
- Android基础问题集
- 变长参数定义
- 如何控制UDX的缓冲长度
- Activity has leaked window that was originally added 问题解决
- JVM内存模型及垃圾收集
- 00 开篇
- 面试10大算法汇总+常见题目解答
- C++ STL set小结
- 【C++ const的各种用法详解】【const用法深入浅出】
- android:报Activity has leaked IntentReceiver或者receiver is not registered错误