首页 > 其他 > 详细

关于Debug下的Log打印问题

时间:2016-02-26 11:52:04      阅读:152      评论:0      收藏:0      [点我收藏+]

     在项目中为了调试经常会用到Log打印,比如打印当前方法__func__, 对象,地址等等,所以项目最后每次运行调试控制台满满的都是打印日志,到release发布的时候,显然不太合适,这里其实可以用一个简单的宏来解决。

1 #ifdef DEBUG
2 
3 #define DLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )//分别是方法地址,文件名,在文件的第几行,自定义输出内容
4 
5 #else
6 
7 #define DLog(...)
8 
9 #endif

 

     注意在#else后,也就是release中一开始定义成NSLog(...)会报错: Implicit declaration of function ‘DLog‘ is invalid in C99。

技术分享

 

原因: Release版本下所定义的DLog就成了一个空函数,在链接的是时候会报错。

 

参考:  http://stackoverflow.com/questions/29234725/implicit-declaration-of-function-dlog-is-invalid-in-c99

  

关于Debug下的Log打印问题

原文:http://www.cnblogs.com/A--G/p/5219718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!