自己动手实现TODO的宏
来源:互联网 发布:南昌有mac专柜吗 编辑:程序博客网 时间:2024/06/02 02:01
自己动手实现TODO的宏
//转成字符串
#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 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))
使用:
@TODO("待解决");
源地址
1 0
- 自己动手实现TODO的宏
- 【搬运】实现一个有意思的TODO宏
- 实现一个TODO宏
- 实现一个TODO宏
- 实现一个TODO宏
- 代码备忘, TODO宏实现
- vue.js实现的一个todo list
- BDBFroniter --- 实现TODO表
- 自己动手实现基于MIDP的ResourceBundle类
- 自己动手实现基于MIDP的ResourceBundle类
- 自己动手实现一个简单的String类
- [自己动手]用Java的反射实现DAO
- 自己动手实现一个简单的Ajax
- 【自己动手】实现简单的C++ smart pointer
- 自己动手实现socket的各种超时控制
- 【自己动手写数据结构】 -- 单链表的实现
- 【自己动手】实现简单的C++ smart pointer
- 自己动手写printf -- 库函数printf的实现
- Way to avoid ssh connection timeout & freezing of terminal tab
- java根据文件后缀名获得对应的MIME类型
- centos6安装mongodb
- linux安装httpsqs插件
- ssh框架向数据库添加blob图片以及在jsp中显示blob图片
- 自己动手实现TODO的宏
- 数据库乱码问题 & Python 编码问题(Unicode 的 encode、decode 相互转换 )
- JAVA学习笔记50——线程状态+停止进程+阻塞进程
- attempt to dismiss modal view controller
- Combobox显示值、实际值
- Windows系统命令
- iOS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、view
- 解决android3.0版本以上应用接收不到开机广播问题
- 学习高斯消元