【问题标题】:How To Distribute a Project Built In a Interpreted Language?如何分发用解释语言构建的项目?
【发布时间】:2010-12-20 19:39:22
【问题描述】:

我已经用解释语言 (Tcl/Tk) 启动了一个项目(开发人员文本编辑器),另一个用 Perl(两者都是开源的),但是有一段时间,当它进入 Beta 版本时,我会需要为用户(当然是开发人员)分发它,但我想知道一些关于此的事情:

  • 可以编译成可执行文件吗?
    • 怎么样?
    • 我可以为其他平台编译吗?
  • 或者在这种情况下最好使用编译语言还是解释语言?
  • 平常是这样的吗?
  • 在用户机器上,他需要有 Tcl/Tk 还是 Perl?

【问题讨论】:

    标签: tcl distribution software-distribution tk


    【解决方案1】:

    Tcl 和 Perl 都可以编译成可执行文件。对于 Windows,有 perl2exe 和 perlcc 用于运行 UNIX 风格操作系统的系统。至于 Tcl,有 freewrap 和 starpacks。

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

    也看看The Simplest Steps to Converting TCL TK to a Stand Alone Application,这个页面也有用,How can I compile Tcl type scripts into binary code

    【讨论】:

    • 对于 Tcl,starkits/starpacks(在上面的链接中提到)现在被认为是独立应用程序部署的标准。 Freewrap 不太常见,但仍在更新中。在它们之间进行选择可能取决于您是否需要每个扩展都包含的任何扩展。
    • Starpacks 绝对值得一看,它们使生成将 TCL 和您的应用程序捆绑到一个简单的 .exe 的单个二进制文件变得非常容易
    • 奇怪的是,在引入 starkits 和 starpacks 多年之后,还没有其他解释性语言能够提供与 starpacks、starkits 和 tclkits 的功能和灵活性相近的东西。
    【解决方案2】:

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

    【讨论】:

    • 你为什么说“没有真正的原因”?就我个人而言,如果我必须安装 Perl/Tcl/whatever,我永远不会使用这个东西,但如果有一个独立的可执行文件,我可能会。
    • 没有真正的原因,因为安装 Perl/Tcl 很简单,但否则它就无法使用。大多数系统,我知道的几乎所有系统(Windows 除外)都预装了 Perl/Tcl。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2019-08-21
    相关资源
    最近更新 更多