我面临着用户编写可编写脚本的C++应用程序的任务.该应用程序已经开发了几年,之前没有人浪费过这个想法.它包含各种细节,如多线程,模板向导和多重继承.作为脚本语言,Python是首选,但如果它更容易实现,则可能会接受Lua.
从我到目前为止所学到的,大致上有两种方法可以将Python/Lua与C++集成:"扩展"和"嵌入".
在这种情况下,看起来我需要两者.脚本语言需要从应用程序访问对象,方法和数据,但一旦用户编写脚本,就需要由应用程序调用 - 无需重新启动任何内容.
这通常是如何在现实世界中完成的?
似乎有一系列令人眼花缭乱的手动解决方案和绑定生成器,所有这些都不够完美.
网上发现的大部分内容都有些过时了.例如,据说swig在非平凡的情况下很难并且生成难以理解的代码.OTOH,它最近已经进入v2.0.
上面的一些使用pygccxml让gcc分析C++代码然后生成绑定.我发现这个想法很有吸引力,因为gcc可能比我更了解代码:-).这效果好吗?
对它们进行全部测试可能很容易花费我为整个项目分配的时间的一半.
那么,你推荐哪些?