iOS开发——实现TODO宏定义
2015-09-07 15:08
357 查看
// 转成字符串 #define STRINGIFY(S) #S // 需要解两次才解开的宏 #define DEFER_STRINGIFY(S) STRINGIFY(S) #define PRAGMA_MESSAGE(MSG) _Pragma(STRINGIFY(message(MSG))) // 为warning增加更多信息 #define FORMATTED_MESSAGE(MSG) "[TODO-" DEFER_STRINGIFY(__COUNTER__) "] " MSG " \n" DEFER_STRINGIFY(__FILE__) " line " DEFER_STRINGIFY(__LINE__) // 使宏前面可以加@ #define KEYWORDIFY try {} @catch (...) {} // 最终使用的宏 #define TODO(MSG) KEYWORDIFY PRAGMA_MESSAGE(FORMATTED_MESSAGE(MSG))
References:http://blog.sunnyxx.com/2015/03/01/todo-macro/
http://colin1994.xyz/2015/07/12/TODO%E5%AE%8F%E5%AE%9E%E7%8E%B0/
相关文章推荐
- C/C++ 宏详细解析
- 深入探讨:宏、内联函数与普通函数的区别
- C++十六进制宏的用法详解
- iOS开发之路--微博“更多”页面
- C++基础入门教程(二):数据、变量、宏等
- 枚举和宏的区别详细解析
- 浅析c++ 宏 #val 在unicode下的使用
- 如何在C语言的宏中使用类型关键字
- iOS开发之路--微博骨架搭建
- IOS开发代码分享之获取启动画面图片的string
- IOS开发之路--C语言数组和字符串
- IOS开发代码分享之用nstimer实现倒计时功能
- IOS开发代码分享之设置UISearchBar的背景颜色
- ios开发之环境搭建-01
- 树形结构
- 在开发iOS程序时对日期处理的总结
- iOS开发——keychain的使用
- iOS Graphics Technologies iOS 图形技术
- iOS开发异常错误总结
- 巧用可变参数宏、编译器内置宏和printf输出调试信息