美文网首页
iOS宏关闭NSLog输出

iOS宏关闭NSLog输出

作者: ThaiLanKing | 来源:发表于2018-09-01 22:03 被阅读33次

Release版本关闭Log输出

#ifdef DEBUG

#define NSLog(...) NSLog(__VA_ARGS__)

#else

#define NSLog(...)

#endif 

输出更详细的调试信息

#ifdef DEBUG  

# define DLog(fmt, ...)  NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);  

#else  

# define DLog(...);  

#endif

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

参考文章:
iOS开发-使用宏自定义输出(NSLog)

相关文章

  • iOS宏关闭NSLog输出

    Release版本关闭Log输出 输出更详细的调试信息 参考文章:iOS开发-使用宏自定义输出(NSLog)

  • IOS NSLog宏定义

    IOS NSLog宏定义 标签(空格分隔): IOS IOS NSLog宏定义 宏定义NSLog方法,不用加";"...

  • iOS-宏定义NSLOG输出

    不废话 直接上代码:如果不想改变NSLOG输出就这样写 自定义: xcode 8真机测试 打印字符串 亲测有用。。...

  • iOS 常用的宏定义

    全局项目宏 NSLog输出宏 获取版本宏 将responsObject打印成plist到桌面 颜色宏

  • 宏定义输出(NSLog)

    前言:我们在发布App的时候,?要求我们取消所有的NSLog,大概是因为:1)输出日志是会大量损耗系统性能。2)输...

  • iOS ——自定义NSLog宏输出

    在debug模式下的时候需要把所在的类名、方法名、行数等相关信息也打印出来,这样在开发的时候就可以快速定位调试的位...

  • iOS 数组和字典NSLog及po输出中文

    前言 当你搜索“iOS 数组和字典NSLog输出中文” 时会找到:这个 iOS开发——输出中文(字典和数组)这个 ...

  • iOS下日志记录

    iOS开发中,一般大家都会自定义一个DLog的宏来代替NSLog,用来控制Release下的Log输出。但是有以下...

  • iOS开发------------宏自定义输出(NSLog)

    记录在项目中用的自定义打印代码 输出结果如图 知其然之气所以然 VA_ARGS 是一个可变参数的宏,这个可变参数的...

  • iOS开发中常用的宏定义

    iOS开发中常用的宏定义 尺寸宏 打印宏 替换NSLog来使用,debug模式下可以打印很多方法名,行信息。 #...

网友评论

      本文标题:iOS宏关闭NSLog输出

      本文链接:https://www.haomeiwen.com/subject/qvzuwftx.html