是否有任何方法可以对字符串进行unstringify作为宏参数?我需要能够调用名称是字符串的函数。像这样:C使用宏进行Unstringification
void hello() {
printf("Hello, world!");
}
call_func("hello");
我该如何实现call_func。它将在#include
d的模块中,并将用于调用主c文件中的函数。如果有另外一种方法可以做到这一点,名字不一定要在字符串中,但可以作为参数传递给一个可以正常使用的函数。这就是我的意思:
#define call_func(X) X()
void do_something(Some_kind_of_C_func_type i) {
call_func(i)
}
void hello() {
printf("Hello, world!");
}
do_something(C_FUNC(hello));
函数指针正是我想要的!谢谢。 – None 2010-08-28 20:41:59