我正在尝试扩展一个c++3d仿真,我正在使用第二种语言(目前是ECL)来在运行时动态地影响它也就是说,我希望能够对这样的脚本求值:
(移动对象x y)
将“对象”移动到位置(x,y)。
问题是,为了使其工作,ECL环境需要调用一些c++成员函数,例如对象的相应节点的实例来移动它。
现在我知道了如何嵌入例如ECL并计算任意代码,以及如何从某些库调用纯c函数,但是我不知道如何告诉ECL环境关于特定实例以及如何调用它们的方法。
我想这是一件很常见的事情(如果没有ECL的话),但是当主程序是用c++编写的并且使用了一些OO时,我还没有找到任何关于如何做到这一点的信息。
最佳答案
您可以为C++应用程序生成命令行接口,然后通过管道进行通信。
我就是这么做的它很简单,对我来说足够快。