FreeWrap工具,將tcl/tk腳本轉變爲可執行文件

本文轉自 http://blog.itpub.net/459749/viewspace-1057377/

FreeWrap可以把TCL/TK的腳本和二進制文件打包成應用程序,FreeWrap將所有的文件組合成一個單獨的可執行文件。
[@more@] 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 生成跨平臺的可執行文件

參數詳解:
dir/test.tcl
TCL/TK腳本主文件目錄,命令緊接着的默認爲主腳本,其它的文件都爲額外添加的文件。
File1 ... FileN
可以是任意的文件,但是要注意在生成的可執行程序包中的訪問方式。比如你在命令中添加的file路徑爲C:myfilelib.tcl,那麼在在打包程序中的目錄結構是如下:
myfilelib.tcl
test.tcl
所以在添加庫文件時要十分小心,要保證在腳本中調用的文件爲source myfilelib.tcl而不是source lib.tcl。
-f
可以羅列需要打包的文件路徑名到一個txt文件當中,運行命令後自動添加,避免命令過長。比如有3個文件C:lib1.tcl、C:lib2.tcl和D:lib3.tcl,那麼就可以在一個txt文件中寫入上面的全路徑,注意一個文件路徑名佔用一行。在調用的時候就可以正常添加所需的文件了。
-forcewrap
簡單點說就是默認的應用程序爲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,可以在http://sourceforge.net/中找到,目前的最新版本爲6.4,支持tcl/tk8.5.0

發佈了28 篇原創文章 · 獲贊 16 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章