自己动手实现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 TODO(MSG) KEYWORDIFY PRAGMA_MESSAGE(FORMATTED_MESSAGE(MSG))

使用:
@TODO("待解决");

源地址
1 0
原创粉丝点击