2009-11-26 50 views
2

我已經開始使用解釋型語言(Tcl/Tk)開發一個項目(開發人員文本編輯器),而使用Perl開發另一個項目(開源文本編輯器)(都是開源的),但是有一段時間,當它進入Beta版時,我需要分發給用戶(開發人員當然),但我想知道一些有關這方面的事情:如何分配以解釋語言構建的項目?

  • 它可以編譯爲可執行文件嗎?
    • 怎麼樣?
    • 我可以爲其他平臺編譯嗎?
  • 或者在這種情況下,最好使用編譯語言或解釋?
  • 這是平常的事情嗎?
  • 在用戶機器上,他需要有Tcl/Tk或Perl?

回答

4

Tcl和Perl都可以編譯成可執行文件。對於Windows,運行UNIX風格操作系統的系統有perl2exe和perlcc。至於Tcl,還有freewrap和starpack。

如果你只是爲了一個可執行文件的好處而做這件事,並且不需要安裝Perl和其他依賴項,那麼沒有真正的理由你不能這樣做。這是測試應用程序而不必經常編譯的一種很好的方法,但首先要解決的就是使用解釋型語言。

而且看看The Simplest Steps to Converting TCL TK to a Stand Alone Application,該頁面也非常有用,How can I compile Tcl type scripts into binary code

+0

+1良好的鏈接和說明**; ** – 2009-11-26 22:18:44

+2

對於Tcl,starkits/starpack(在上面的鏈接中提到)現在被認爲是獨立應用程序部署的標準。 Freewrap不太常見,但仍在更新中。在它們之間進行選擇可能取決於您是否需要任何擴展。 – 2009-11-27 08:52:06

+0

星巴克確實值得一看,他們很容易生成一個捆綁TCL和你的應用程序的簡單二進制文件.exe – Jackson 2009-11-27 18:54:17

1

通常和通用的方式進行這樣的腳本是分發源。二進制只能在一些非常特定的系統上工作,但Tcl/Tk/Perl可以在很多系統上運行,所以這將是一個非常大的限制,沒有真正的原因。它還可以幫助其他開發人員更好地以一些好的方式重用腳本。在大多數情況下,即使有人能夠執行你的二進制文件,沒有源代碼也沒有什麼幫助。

+1

你爲什麼說「沒有真正的理由」?就我個人而言,如果我必須安裝Perl/Tcl /任何東西,我都不會使用這個東西,但是我可能會使用獨立的可執行文件。 – erikkallen 2009-11-26 22:28:23

+0

因爲沒有真正的原因,因爲安裝Perl/Tcl是微不足道的,但它使得它無法使用。和大多數系統一樣,幾乎所有我知道的系統(Windows除外)都預裝了Perl/Tcl。 – Albert 2009-11-27 23:24:52