Chinaunix首页 | 论坛 | 博客
  • 博客访问: 881697
  • 博文数量: 146
  • 博客积分: 6619
  • 博客等级: 准将
  • 技术积分: 1621
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-29 14:06
文章分类

全部博文(146)

文章存档

2020年(1)

2019年(4)

2018年(3)

2017年(5)

2015年(5)

2014年(7)

2013年(5)

2012年(11)

2011年(15)

2010年(13)

2009年(14)

2008年(63)

分类: Python/Ruby

2012-09-03 13:08:50

将Perl打包成可执行程序,有几个可用的打包软件:
1、Perl2Exe,这个软件出现较早,使用也非常简单,但功能相对有限,一般简单的代码用它打包没问题,引用了较多模块的代码,特别是有GUI界面的代码,用它就难实现或无法打包;
2、Cava Packager (http://www.cava.co.uk),这个软件功能比较强大,可以将代码打包成各种形式,比如直接打包成安装包,在客户机上进行安装,或者将主程序和模块分离;
3、ActiveState Perl Dev Kit,非常强大的打包程序,跟ActivePerl协作完美,也可以打包成很多种形式的应用程序。

本教程仅限于讲解在Windows环境下用PerlApp将代码打包成EXE文件,Linux环境大同小异。

ActiveState Perl Dev Kit下载地址:
http://www.activestate.com/perl-dev-kit/downloads

启动PerlAPP,界面的Main标签如下图:
main.jpg
这里主要是指定代码及工作目录。

Files标签:
files1.jpg
Script:程序会自动扫描代码中引用的模块,这下面的模块即为代码中显式引用的模块。
技巧1:在代码的显示界面中有中文的情况下,应该在代码中显式引用Encode::CN,或者在Added modules中添加该模块,否则中文可能不能正确显示。
files2.jpg
技巧2:在代码中若有需要引用的数据或图标,可以使用Bound files将它打包进可执行程序,这样,在程序运行时,可以直接使用这些数据或图标,这样可以避免泄露相关数据。比如要显示Windows程序左上角的图标,就使用这种方法实现;
技巧3:Icon sources用来将图标文件打包进程序,这个图标是指Windows资源管理器中可执行程序的图标,可以用自己的个性图标来标识程序,跟技巧2中的图标不是一码事。
具体操作:通过右键点相关命令来实现。

Size标签:
size.jpg
如果在已经安装有Perl的环境运行程序,又希望打包后的文件体积小,可以勾选前两项;三项都不选,就打包成完全脱离Perl环境的可执行程序。

Option 1标签:
option1.jpg
Clean up temporary files when the executable terminates,选定用来在程序运行结束后清理临时文件,包括打包进程序的数据和图标,位置:C:\Documents and Settings\**your name**\Local Settings\Temp\

Option 2标签:
option2.jpg
技巧1:Use the in-memory dynamic DLL-loader at runtime,选定它,在程序运行时,会将DLL文件释放到内存,这样可以在一定程度上泄露DLL文件,不选,会释放到临时文件夹,在程序结束前,这些临时文件是可以直接被复制出来的;
技巧2:Hide console,如果是GUI程序,应该选定它,这样就不会再出现CMD界面;如果就是通过CMD显示程序的输出,那就不勾选。

Version标签:根据自己的喜好填。
version.jpg

Output标签:设置好各选项后,按Make Executable即生成可执行程序,这个标签是打包的状态信息。
output.jpg
阅读(5709) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~