FreeWrap:TCL/TK的脚本和二进制文件打包成应用程序‏

上一篇 / 下一篇  2009-07-06 22:03:54 / 个人分类: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                生成跨平台的可执行文件

    

    参数详解:

    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,如果由于需要程序名称修改成了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


TAG:

 

评分:0

我来说两句

日历

« 2024-04-09  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 30419
  • 日志数: 37
  • 建立时间: 2008-07-09
  • 更新时间: 2009-07-23

RSS订阅

Open Toolbar