这个宏扩展成什么?
What this macro is expanded to?
我在一个 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))
有帮助吗?谢谢。
您可以运行 gcc -E
获得预处理器后的结果代码。
运行 在 PROCESS_THREAD(foo,bar,baz)
上的结果是:
static char process_thread_foo(struct pt *process_pt, process_event_t bar, process_data_t baz)
我在一个 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))
有帮助吗?谢谢。
您可以运行 gcc -E
获得预处理器后的结果代码。
运行 在 PROCESS_THREAD(foo,bar,baz)
上的结果是:
static char process_thread_foo(struct pt *process_pt, process_event_t bar, process_data_t baz)