【发布时间】:2016-08-09 16:43:13
【问题描述】:
我们可以实现一个宏来注册打印的名称吗?如下:
1.C
O_PRINT_NAME_REGISTER(NET_TRACE)
O_PRINT_NAME_REGISTER(MAIN_TRACE)
void example(void)
{
NET_TRACE(" net log"); // LINE 20
MAIN_TRACE(" main log"); // LINE 21
}
预期输出
示例 - 20:网络日志
示例 - 21:主日志
O_PRINT_NAME_REGISTER()如何定义?
【问题讨论】:
-
NET_TRACE/MAIN_TRACE 应为 MACRO NAME。
-
我认为你做不到。为了知道行号NET_TRACE必须是宏,但是宏不能创建宏。
-
您的要求让我感到困惑。你想要一个可以打印跟踪和行号的宏吗??
标签: c macros c-preprocessor