Tcl 如何分发以解释语言构建的项目?

Tcl 如何分发以解释语言构建的项目?,tcl,distribution,software-distribution,tk,Tcl,Distribution,Software Distribution,Tk,我已经用解释语言Tcl/Tk启动了一个projectdeveloper文本编辑器,另一个是Perlboth,它们都是开源的,但随着时间的推移,当它进入测试版时,我需要为用户分发它。当然,开发者,但我想知道一些关于这方面的事情: 可以把它编译成可执行文件吗? 怎样 我可以为其他平台编译吗? 或者在这种情况下,最好使用编译语言或解释语言? 通常是这样吗? 在用户机器中,他需要Tcl/Tk或Perl? Tcl和Perl都可以编译成可执行文件。对于windows,对于运行UNIX风格操作系统的系统,有p

我已经用解释语言Tcl/Tk启动了一个projectdeveloper文本编辑器,另一个是Perlboth,它们都是开源的,但随着时间的推移,当它进入测试版时,我需要为用户分发它。当然,开发者,但我想知道一些关于这方面的事情:

可以把它编译成可执行文件吗? 怎样 我可以为其他平台编译吗? 或者在这种情况下,最好使用编译语言或解释语言? 通常是这样吗? 在用户机器中,他需要Tcl/Tk或Perl?
Tcl和Perl都可以编译成可执行文件。对于windows,对于运行UNIX风格操作系统的系统,有perl2exe和perlcc。至于Tcl,有freewrap和Starpack

如果您这样做只是为了一个可执行文件的好处,并且不需要安装Perl和其他依赖项,那么没有真正的理由不能这样做。这是一种很好的测试应用程序的方法,无需不断地编译,尽管它从一开始就破坏了使用解释语言的意义


另外请看一看,此页面也很有用,

此类脚本的常用方法是分发源代码。二进制只能在一些非常特定的系统上工作,但是Tcl/Tk/Perl可以在很多系统上运行,因此这将是一个非常大的限制,没有真正的原因。它还可以帮助其他开发人员更好地重用您的脚本。在大多数情况下,即使有人可以执行您的二进制文件,如果没有源代码,它也不会有多大帮助。

为什么说没有真正的原因?就我个人而言,如果我必须安装Perl/Tcl/什么的,我永远不会使用这个东西,但是如果有一个独立的可执行文件,我可能会这样做。没有真正的原因,因为安装Perl/Tcl很简单,但它会使它在其他方面无法使用。大多数系统,除了Windows之外,我所知道的几乎所有系统都预装了Perl/Tcl。对于Tcl,上面链接中提到的Starkit/Starpack现在被认为是独立应用程序部署的标准。Freewrap不太常见,但仍在更新中。它们之间的选择可能取决于您是否需要每个扩展中的任何一个。Starpack绝对值得一看,它们让您很容易生成一个二进制文件,将TCL和您的应用程序捆绑在一起。奇怪的是,在Starkit和Starpack推出多年之后,目前还没有任何其他解释语言能够提供与Starpack、Starkit和Tclkit的功能和灵活性相近的功能。