首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C中可不可以实现这一功能:传递一个字符串,调用这个字符串为名字的函数,该怎么处理

2012-02-20 
C中可不可以实现这一功能:传递一个字符串,调用这个字符串为名字的函数比如inttst(){//}intinvoker(char*na

C中可不可以实现这一功能:传递一个字符串,调用这个字符串为名字的函数
比如
int   tst()
{
//
}

int   invoker(char   *name)
{
//call   name
//   如果name   == "tst "   就会调用tst()函数
}

[解决办法]
system();
[解决办法]
不能。
不过yaorugang给的确实是实际这种问题的解决方式。
试想,你要调用的函数也是有限的,已知的,所以这样做也没什么实现不了的。
[解决办法]
你要模拟dll的功能。
那么你可以把所有的函数都 extern "C " __declspec(dllexport)后,

然后跟dll一样加载 。
fn = GetProcAddress(GetModuleHandle(0), "tst ");
[解决办法]
C++/Clr可以用反射机制实现

热点排行