我想知道是否有任何静态类型,可嵌入的脚本语言。 Python,JavaScript等是很好的语言,但它们是动态类型的(即,在运行时检查类型)。我只是想知道是否有人知道可以嵌入到C ++应用程序中的任何静态类型的脚本语言?
答案 0 :(得分:13)
我建议你查看Angelscript。我们在Warsow上使用它,它非常好。它具有您期望的所有功能,如类,内存管理等。由于它是静态类型的,它可以为您做出更好的优化,因此字节码最终比其他脚本语言更快。
然而,AS并不像Lua那样容易使用,并且只有一个.zip下载 - 这意味着没有.exe安装程序,.deb包,.dmg或其他任何东西。通常情况下这是可以的,因为您无论如何都要将AS捆绑到项目中。主要难以与Lua相比只是图书馆更大(但有更多的功能)。并不是很多人使用它,所以找到示例和帮助要困难得多,但是有很好的文档,所以开始时不应该那么难。
但是,我个人宁愿使用动态语言编写脚本。当我编写应用程序脚本时,我想进入那里并编写废话,而不必担心C风格的行李。除了AngelScript,我真的想不出任何值得推荐的人。
答案 1 :(得分:3)
嗯,有Ch - 可嵌入的C / C ++解释器
答案 2 :(得分:2)
C#怎么样?查看Mono实现的C#“脚本语言”REPL(http://www.mono-project.com/CsharpRepl)
更新:如果你不知道什么是REPL,那就是你在没有任何参数的情况下运行Python时所看到的,或者是irb