目前,我将 lua 嵌入到我的 c++ 代码中。
我想知道 C++ 是否也可以做到这一点。这样我就可以在脚本中传递对象和使用库。为此,我想我需要主 C++ 代码中的以下内容:
- 执行脚本的运行
- 编译脚本
- 运行脚本
- 脚本将指针传递给它的数据对象
- 脚本完成,程序使用数据对象。
这可能吗?小例子?
对我来说,它很有用,因为我运行了我不想停止但我想动态添加功能的科学计算。我还看到这对于不想关闭但想要进行更改的 c++ 中的服务器很有用。
目前,我将 lua 嵌入到我的 c++ 代码中。
我想知道 C++ 是否也可以做到这一点。这样我就可以在脚本中传递对象和使用库。为此,我想我需要主 C++ 代码中的以下内容:
这可能吗?小例子?
对我来说,它很有用,因为我运行了我不想停止但我想动态添加功能的科学计算。我还看到这对于不想关闭但想要进行更改的 c++ 中的服务器很有用。
您可以选择使用某种 C++ 解释器,但它们不能做所有的事情。C++ 是最难实现(如果不是最难的话)的语言之一。想想宏、模板和其他所有使 C++ 像我们所知的那样强大的东西,它们真的很难解析和理解,除此之外,我们还有优化,可以为我们创建如此快速和精简的代码,所以解释器如何如此强大并了解这一切?即使是最知名的编译器也可能无法理解所有标准,或者至少在理解复杂的 C++ 代码时会出错。在我的一个使用 MSVC 2010 大量使用模板的项目中,编译代码大约需要 10 分钟!所以解释器通常会简化他们的任务并且只支持完整 C++ 的一个子集,所以如果你对此很满意,可以使用一些解释器。cint
很好。
另一个选择是你有一个免费的编译器g++
,实际上将你的代码编译成某种共享库,然后动态加载它,并根据某种配置从中调用一些函数。