我在C
项目中遇到了这个宏定义。
我面临扩大宏的问题。
这是:
#define PT_THREAD(name_args) char name_args
#define PROCESS_THREAD(name, ev, data) \
static PT_THREAD(process_thread_##name(struct pt *process_pt, \
process_event_t ev, \
process_data_t data))
有些帮助吗?谢谢。
答案 0 :(得分:3)
您可以运行gcc -E
以在预处理器之后获取生成的代码。
在PROCESS_THREAD(foo,bar,baz)
上运行此操作会导致:
static char process_thread_foo(struct pt *process_pt, process_event_t bar, process_data_t baz)