如何动态加载C ++函数

时间:2012-12-13 21:30:15

标签: c++ function dynamic load

我有一个C ++应用程序,如何从test.cpp函数加载函数并执行它?我需要一个适用于Windows和Linux的解决方案。我需要这个,因为我的应用程序用户应该根据需要更改此功能。

谢谢!

2 个答案:

答案 0 :(得分:0)

在纯c ++中几乎不可能。这是因为您必须首先编译您的函数。当你有一个对象时,你可以动态地将它链接到你的程序中,但这不是你打算做的,我希望如此。

您可能希望查看LUA等脚本语言,这些脚本语言具有在c ++中使用的文档化的API(等等)

您也可以随应用程序一起提供gcc并从应用程序本身调用它(exec ..())但是这很重。

答案 1 :(得分:0)

在共享库“dll左右”linux“”中创建此函数,然后您可以使用“extern”和库(.lib)或“LibraryLoad(Windows)或dlopen(linux)”动态调用它。这是在c ++中的方法..但你必须让你的函数调用从程序中理解为静态..