Ton*_*ony 4 javascript c++ python scripting embedding
我正在研究如何使用脚本功能最好地扩展C++应用程序,我正在研究Python或JavaScript.用户定义的脚本需要能够访问应用程序的数据模型.
你们有没有嵌入这些脚本引擎的经验?有哪些潜在的陷阱?
Lua也是嵌入程序的绝佳选择.它非常独立,甚至是原生的跨语言呼叫系统也不错.
对于JavaScript,您现在最好的选择是查看V8(来自Google),这很容易使用.
使用Boost :: Python库很容易嵌入Python (好吧,好吧,讽刺.)当谈到跨语言功能时,没有什么是"容易的".Boost为促进这种发展做了大量工作.我曾与之合作的一位开发人员在Boost-> Python界面上发誓.他的代码可以由用户在Python中编程,并在UI中内置REPL.惊人.
但是,使用SWIG和其他语言(如Java)可以更好地观察到我的经验.我目前正在使用SWIG用Python包装C++.有各种各样的问题,包括例外,线程,跨语言多态等.
我先看看这两个地方.正如我所说,没有什么是"容易的",但这两者都让生活变得更加宜居.