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

freewrap——将tcl/tk脚本转变为可执行文件的更多相关文章

  1. 用Tcl/Tk脚本计算圆周率

      读了阮一峰的蒙特卡罗方法入门,用概率统计的方式求解棘手的数学问题还挺有意思的,尤其是利用正方形和它的内切圆之间的面积关系来建模求解圆周率的方法精巧又简单,比投针实验好理解也好实现多了.建模可不是M ...

  2. Tcl Tk Introduction

    Tcl Tk Introduction eryar@163.com 摘要Abstract:Tcl/Tck脚本可以很容易实现用户自定义的命令,方便的创建图形化的用户界面GUI,所以Tcl和Tk的应用领域 ...

  3. Tcl/tk缩放Truetype字体时的精度问题

    最近有国内新客户抱怨我们产品显示的原理图太不专业了,在原理图上使用宋体GB2312设计好中文图表,经过几次缩放时,表格内的文字居然会跑到表格外边,更要命的是打印出来的文档也存在同样的问题. 我研究了一 ...

  4. linux下ruby使用tcl/tk编程环境设置

    正常情况下最新的ruby都是不带tcl/tk选项编译的,所以我们在运行tcl/tk代码时都会发生找不到tk库的错误.解决办法很简单只要以tcl/tk选项编译ruby即可. 这里以ubuntu 15.0 ...

  5. pgtksh -- PostgreSQL Tcl/Tk shell 客户端

    SYNOPSIS pgtksh [filename [argument...]] DESCRIPTION 描述 pgtksh 是一个带有 PostgreSQL 数据库访问函数扩展的 Tcl/Tk sh ...

  6. python INFO: Can't locate Tcl/Tk libs and/or headers

    安装opencv的时候遇到这个错误: python INFO: Can't locate Tcl/Tk libs and/or headers 参考如下文章解决这个问题: http://www.ver ...

  7. tcl/tk demo

    环境及版本说明: OSX10.9 tclsh -> tclsh8.5 wish -> wish8.5 查看本机运行环境: which wish; 2 /usr/bin/wish which ...

  8. Mac OS X下让ruby支持tcl/tk

    我记得在老早在OS X10.8下使用ruby1.9.x的时候只要到下载安装ActiveTcl8.5,没怎么配置就运行tk好好的.但是近日想重新执行下tk代码,发现在require 'tk'的时候就报错 ...

  9. 将Python脚本打包成可执行文件

    Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安 ...

随机推荐

  1. LA_4670_Dominating_Patterns_(AC自动机+map)

    描述 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  2. BZOJ_1606_ [Usaco2008_Dec]_Hay_For_Sale _购买干草_(背包)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1606 价值和重量相等的01背包问题. 分析 ... #include <bits/std ...

  3. java类转化为json对象

    方式一:使用jar包,直接转化成json格式,再使用outwrite写到jsp中 先说说要使用到的包commons-beanutils.jar.commons-collections.jar.comm ...

  4. 兼容ie\firefox\chrome的cursor

    cursor:hand 与 cursor:pointer 的效果是一样,都像手形光标. 但用FireFox浏览时才注意到使用cursor:hand在FireFox.chorme里并被支持.cursor ...

  5. Sending data to USB printer in C#?

    using System; using System.Drawing; using System.Drawing.Printing; using System.IO; using System.Run ...

  6. 惠威的M200MK3的前级电子分频板

    M200MKIII是惠威融合了尖端有源电子分频技术而诞生的全新产品:双4声道运算放大器.高档玻璃纤维电路板.全SMT制作工艺.红宝石滤波电容阵列.进口金属化聚丙稀分频电容.超大功率TDA7294功放芯 ...

  7. c# PrintDocument 设置自定义纸张大小的示例

    .Net 提供的打印类PrintDocument 非常简洁易用,不过在实际应用开发中往往需要对纸张进行自定义,尤其是需要进行票据打印时.这个问题也困扰了我许久,经过查阅相关的资料和多次尝试,发现 其实 ...

  8. Enum 枚举

    一: 1. foreach (int val in Enum.GetValues(typeof(AppEnum.HarbourStatus))) { ddlStatus.Items.Add(new L ...

  9. [TSOI2005]Exhibit

    问题描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy 想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字, a 和 b ,代 ...

  10. 自动计算label字体的高度和图片拉伸处理(封装成分类分享)

    自动计算label字体的高度和图片拉伸处理 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bo ...