5
我想创建一个宏(C/C++)来动态地创建一个函数的函数名。基本上我有一个函数,其名称在“MyClassA”部分中有所不同。此外,应该通过宏定义来传递参数。然后在函数内部有一个可变的方法调用,例如“methodForClassA”,再次有一组变量的参数。动态创建与宏
void Java_somepackage_MyClassA_fixMethod(int arg1, int arg2) {
Toolbox.methodForClassA(arg1, arg2);
}
这种模式有超过40个功能。当然,我可以手动或使用脚本创建它们。但是,宏也可以做到这一点?例如这样的事情(不工作):
# define MACRO_TEST(classname, methodname, args, argsMethod) void Java_somepackage_##classname_fixMethod(##args) {\
Toolbox.##methodname(##argsMethod);\
}
MACRO_TEST(MyClassA, methodForClassA, args1, args2)
一些实验和文档的阅读后,我只能找出如何创建模式“动态”功能名,其中“(”跟随在动态部分:
#define FUNCTION(name, x) int func_##name() { return x;}
FUNCTION(test, 2);
问候,