IOS 日志输出控制
2023-09-27 14:27:40 时间
用以下内容可以控制在debug版本中打印日志,而在release版本中不打印
#ifdef DEBUG
# define DBLog(format,...) NSLog((@"[%s][%s][%d]" format), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
# define DBLog(...);
#endif
备注:
1.ANSI C标准中有几个标准预定义宏(也是常用的):
__LINE__:在源代码中插入当前源代码行号;
__FILE__:在源文件中插入当前源文件名;
__DATE__:在源文件中插入当前的编译日期
__TIME__:在源文件中插入当前编译时间;
__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus:当编写C++程序时该标识符被定义。
2.可变参数宏 ...和_ _VA_ARGS_ _
__VA_ARGS__ 是一个可变参数的宏,很少人知道这个宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。
实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代表的字符串。
参考了http://www.cnblogs.com/lixiaohui-ambition/archive/2012/08/21/2649052.html
相关文章
- IOS - 查找未使用的图片
- UI--仿IOS控件之ActionSheet样式 and more..
- iOS单例设计模式具体解说(单例设计模式不断完好的过程)
- iOS_Objective-C測试
- iOS版 hello,world版本2
- 《iOS 6核心开发手册(第4版)》——1.3节秘诀:添加平移姿势识别器
- iOS UIView视图的图层控制
- iOS开发中的这些权限,你搞懂了吗?
- iOS使用宏写单例
- iOS蓝牙原生封装,助力智能硬件开发
- iOS程序启动过程
- iOS https 证书链获取
- IOS横竖屏控制与事件处理
- iOS开发系列--通知与消息机制
- iOS 内存使用陷阱
- iOS设计模式 - 单例模式
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <三> NSArray