脚本语言

我正在寻找一个好的脚本语言来链接到我的程序中。 我正在寻找2个重要的属性:

  • 脚本语言应该硬链接到可执行文件中(不需要第三方安装)。这对我来说很重要,可以简化分发。
  • 脚本应该允许一些运行时调试选项(当在我的程序中运行脚本时,我希望能够在调试器中轻松地运行它,同时它正在运行我的程序的上下文中)

Python、Lua或其他语言能够满足这个要求吗?

原文链接 https://stackoverflow.com/questions/3193012

点赞
stackoverflow用户374011
stackoverflow用户374011

我会推荐Python。虽然我不了解很多细节,但计算机图形套件blender在实现Python脚本方面做得非常出色。

据我所知,在blender 2.5中,解释器是从可执行文件内部运行的,

import sys
sys.executable

显示/blender/blender.exe,并且有良好的调试支持,甚至还有一个完整的交互式解释器。

欲了解更多信息,请查看:http://www.blender.org/

2010-07-07 08:59:35
stackoverflow用户15721
stackoverflow用户15721

Lua 是为此而设计的:

  • 静态链接?检查!
  • 调试? 检查!
2010-07-07 09:01:05
stackoverflow用户318488
stackoverflow用户318488

Lua 和 Python 都可以提供你提到的功能,所以选择其中一个将取决于其他标准。

Lua 是一种轻量级的解决方案,它将具有比 Python 更小的磁盘占用和可能更小的内存开销。对于某些用途,它可能会更快。 Python 有一个更丰富的标准库,更成熟的第三方库和更富有表现力的语言。

两者都被嵌入到主要应用程序中。Python 可以在 Blender、OpenOffice 和文明4 中找到。在魔兽世界和 Adobe Lightroom 中可以找到 Lua。我建议看一些每种语言的教程和将它们嵌入到你的应用程序中可用的设施,并选择最适合你的语言。

2010-07-07 10:33:34
stackoverflow用户1491
stackoverflow用户1491

通常情况下,将 Lua 嵌入到另一个项目中会更好一些。Python 更适合作为独立的平台,因为它的库支持更加广泛。有关更多详情,可以参考 Lua Versus Python

就个人而言,我经常根据手头工作的需要使用这两种语言。我总是使用 Lua 来嵌入到 C / C++ 应用程序中,或者用来编写从 C / C++ 共享库(即 DLL)中引入的脚本功能。Python 在需要独立完成任务且不需要低级的 C / C++ 代码的情况下,总是我首选的选择。

2010-07-07 14:09:08
stackoverflow用户88888888
stackoverflow用户88888888

我非常喜欢将 Lua 嵌入到其他程序中,但是作为另外一种选择,JavaScript 也可以很容易嵌入到 C、C++(SpiderMonkey 和 V8)以及 Java(Rhino)程序中。

2010-07-07 14:17:35
stackoverflow用户26816
stackoverflow用户26816

我会将 Tcl 加入到混合中。它的设计旨在轻松地嵌入到其他程序中。

2010-07-10 04:13:15
stackoverflow用户230831
stackoverflow用户230831

除了已经提到的 Tcl、Lua 和 Javascript,Guile 是另一种专门为此设计的语言。

2010-07-10 13:55:03