星空网 > 软件开发 > 操作系统

iOS打印Debug日志的方式

简单介绍以下几个宏:

1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。
2) __FILE__ 宏在预编译时会替换成当前的源文件名
3) __LINE__宏在预编译时会替换成当前的行号
4) __FUNCTION__宏在预编译时会替换成当前的函数名称

 

1.重新定义系统的NSLog,__OPTIMIZE__ 是release 默认会加的宏

 

[plain] view plaincopy 


  1. #ifndef __OPTIMIZE__  
  2. #define NSLog(...) NSLog(__VA_ARGS__)  
  3. #else  
  4. #define NSLog(...){}  
  5. #endif  

 

 

2.直接自己写#define,当release版本的时候把#define 注释掉即可

 

#define IOS_DEBUG

 

[plain] view plaincopy 


  1. #ifdef IOS_DEBUG  
  2. #define NSLog(...) NSLog(__VA_ARGS__)  
  3. #endif  

 

3.

[plain] view plaincopy 


  1. #ifdef DEBUG    
  2. # define DLog(format, ...) NSLog((@"[文件名:%s]" "[函数名:%s]" "[行号:%d]" format), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);    
  3. #else    
  4. # define DLog(...);    
  5. #endif    

这种方式需要修改项目的配置,使得在debug编译的时候,编译DLog的宏,产生详细的日志信息,而release的时候,不产生任何控制台输出

相比而言,还是第一种比较方便




原标题:iOS打印Debug日志的方式

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

中国哪个快递可以发越南:https://www.goluckyvip.com/tag/105814.html
中国寄快递2kg到越南多少钱:https://www.goluckyvip.com/tag/105815.html
快递从中国到越南:https://www.goluckyvip.com/tag/105816.html
从中国快递到越南:https://www.goluckyvip.com/tag/105817.html
越南当地物流公司:https://www.goluckyvip.com/tag/105818.html
发越南专线物流:https://www.goluckyvip.com/tag/105819.html
2024北京庞各庄镇梨花节开幕时间是几号?:https://www.vstour.cn/a/365179.html
深圳西乡三月三北帝庙会的千岁盆菜多少钱:https://www.vstour.cn/a/365180.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流