freewrap——將tcl

FreeWrap可以把TCL/TK的腳本和二進制文件打包成應用程序,FreeWrap將所有的文件組合成一個單獨的可執行文件。

FreeWrap的原理是把腳本和tcl/tk解釋器和庫文件都打包在一個文件當中,做成一個可執行程序。生成的可執行文件實際上是一個壓縮包,裡面包含有需要使用的所有內容。不同的版本對應不同的tcl/tk版本,由於原始的tcl/tk版本只包括一些基本的庫,所以如果需要使用更多的庫,需要額外添加到文件中,還需要注意添加的方法和調用的順序,如果是二進制的庫就更麻煩了,需要額外的添加一段腳本。

FreeWrap的可執行程序本身就是一個shell,如果修改了可執行程序的名字,在windows下把freeWrap修改為shell,再運行則是一個tcl/tk的shell。

FreeWrap使用非常方便,就是一條命令,語法參考如下。

語法:freewrap dir/test.tcl [-debug] [-f FileLoadList] [-forcewrap] [-i ICOfile] [-o OutFile][-p] [-w WrapStub] File1 ... FileN

參數:

dir/test.tcl TCL/TK腳本主文件目錄

File1 ... FileN 需要打包在可執行程序裡面的文件,用空格間隔

-debug 在打包的時候打開一個可以查看調試信息的窗口

-f 需要打包的在命令後面的文件名詳單

-forcewrap 當freeWrap應用程序名被修改後,強制freeWrap程序以打包程序來運行

-i 指定生成的可執行應用程序的圖標

-o 指定生成的可執行應用程序的名稱

-p 創建一個freeWrap格式的程序包而不是創建一個可執行程序

-w 生成跨平臺的可執行文件

freewrap——將tcl/tk腳本轉變為可執行文件

參數詳解:

dir/test.tcl

TCL/TK腳本主文件目錄,命令緊接著的默認為主腳本,其它的文件都為額外添加的文件。

File1 ... FileN

可以是任意的文件,但是要注意在生成的可執行程序包中的訪問方式。比如你在命令中添加的file路徑為C:/myfile/lib.tcl,那麼在在打包程序中的目錄結構是如下:

/myfile/lib.tcl

test.tcl

所以在添加庫文件時要十分小心,要保證在腳本中調用的文件為source /myfile/lib.tcl而不是source lib.tcl。

-f

可以羅列需要打包的文件路徑名到一個txt文件當中,運行命令後自動添加,避免命令過長。比如有3個文件C:/lib1.tcl、C:/lib2.tcl和D:/lib3.tcl,那麼就可以在一個txt文件中寫入上面的全路徑,注意一個文件路徑名佔用一行。在調用的時候就可以正常添加所需的文件了。

-forcewrap

freewrap——將tcl/tk腳本轉變為可執行文件

簡單點說就是默認的應用程序為freewrap,如果由於需要程序名稱修改成了shell,那麼就可以使用 freewrap dir/test.tcl -forcewrap來打包一個程序,如果沒有-forcewrap則是調用一個shell。

-i

使用-i選項去指定生成的可執行程序使用的圖標。比如freewrap test.tcl -i test.ico,ico文件需要滿足一下三種條件之一:1、16*16 16位色 2、32*32 16位色 3、32*32 2位色,如果是其他ico文件格式,在生成可執行文件時還是會採用默認的圖標。

-o

指定生成的可執行應用程序的名稱,比如freewrap test.tcl -o my.exe,生成的可執行程序就是my.exe而不是test.exe。

-w

生成跨平臺的可執行文件,生成的時候需要有目標平臺的freewarp,舉例如下:

在windows下生成可以在linux下運行的打包應用程序:freewrap test.tcl -w freewrap

在linux下生成可以在windows下運行的打包應用程序:freewrap test.tcl -w freewrap.exe

freewrap——將tcl/tk腳本轉變為可執行文件

如果需要freewrap,可以在http://sourceforge.net/中找到,目前的最新版本為6.4,支持tcl/tk8.5.


分享到:


相關文章: