首页 > 解决方案 > 使用 c 宏生成函数名

问题描述

我有一些函数的名字像 aaa_bbb_test1, aaa_bbb_test2, ...,所以我想通过使用宏来生成这些名字:

#define FIRST aaa
#define MIDDLE bbb

#define MAKE_FUNC(a, b, c) a##_##b##_##c
#define MAKE_FUNC_NAME(name)  void MAKE_FUNC(FIRST, MIDDLE, name)()

MAKE_FUNC_NAME(test1) {
}

NAKE_FUNC_NAME(test2) {
}

但我得到的是 FIRST_MIDDLE_test1(),而不是 aaa_bbb_test1(),有什么建议吗?

标签: cmacros

解决方案


推荐阅读