在多线程C/C++应用中,哪个脚本语言更适合嵌入?

17 投票
12 回答
4507 浏览
提问于 2025-04-16 10:22

考虑到以下需求:

  • 必须支持Windows系统。最好也能在其他平台上运行。
  • 必须支持多线程。也就是说,程序可以在多个线程中同时工作。
  • 可读性很重要。
  • 许可证必须与闭源项目兼容。

我喜欢Python,因为它的可读性很好。而且我对Python的经验比其他脚本语言多。不过,CPython不支持多线程,而IronPython需要托管CLR和一个兼容的语言(比如C++/CLI或C#)。

12 个回答

12

Lua是一个很不错的选择。Python、Ruby和JavaScript都是比较大的编程语言,它们并不是为了嵌入其他程序而设计的。但Lua就不一样,它就是为了嵌入而设计的。

在选择脚本语言时,你应该更关注“限制”这一点,而不是其他的东西。嵌入的脚本很容易被用来做一些不好的事情。

举个例子,默认情况下,Lua是不能直接在控制台上打印信息的。根据我所知道的,暴雪公司就是因为这个原因而使用Lua的。

29

Lua 可能值得一试。它可以以一种 线程安全 的方式使用,也就是说在多个地方同时使用时不会出问题。此外,这种语言还支持一种叫做 “协程” 的概念,这可能正好符合你的需求。

9

你可以考虑嵌入一个流行的JavaScript引擎。这样不仅运行速度快,而且支持也很好。因为很多人都会编写JavaScript代码,所以大家都能很容易地理解和使用。

根据这个回答SpiderMonkey引擎是线程安全的,而Google/Chrome的V8引擎可能就不是这样。

撰写回答