将Perl打包成可执行程序,有几个可用的打包软件:
1、Perl2Exe,这个软件出现较早,使用也非常简单,但功能相对有限,一般简单的代码用它打包没问题,引用了较多模块的代码,特别是有GUI界面的代码,用它就难实现或无法打包;
2、Cava Packager (),这个软件功能比较强大,可以将代码打包成各种形式,比如直接打包成安装包,在客户机上进行安装,或者将主程序和模块分离;
3、ActiveState Perl Dev Kit,非常强大的打包程序,跟ActivePerl协作完美,也可以打包成很多种形式的应用程序。
本教程仅限于讲解在Windows环境下用PerlApp将代码打包成EXE文件,Linux环境大同小异。
ActiveState Perl Dev Kit下载地址:
http://www.activestate.com/perl-dev-kit/downloads启动PerlAPP,界面的Main标签如下图:
这里主要是指定代码及工作目录。
Files标签:
Script:程序会自动扫描代码中引用的模块,这下面的模块即为代码中显式引用的模块。
技巧1:在代码的显示界面中有中文的情况下,应该在代码中显式引用Encode::CN,或者在Added modules中添加该模块,否则中文可能不能正确显示。
技巧2:在代码中若有需要引用的数据或图标,可以使用Bound files将它打包进可执行程序,这样,在程序运行时,可以直接使用这些数据或图标,这样可以避免泄露相关数据。比如要显示Windows程序左上角的图标,就使用这种方法实现;
技巧3:Icon sources用来将图标文件打包进程序,这个图标是指Windows资源管理器中可执行程序的图标,可以用自己的个性图标来标识程序,跟技巧2中的图标不是一码事。
具体操作:通过右键点相关命令来实现。
Size标签:
如果在已经安装有Perl的环境运行程序,又希望打包后的文件体积小,可以勾选前两项;三项都不选,就打包成完全脱离Perl环境的可执行程序。
Option 1标签:
Clean up temporary files when the executable terminates,选定用来在程序运行结束后清理临时文件,包括打包进程序的数据和图标,位置:C:\Documents and Settings\**your name**\Local Settings\Temp\
Option 2标签:
技巧1:Use the in-memory dynamic DLL-loader at runtime,选定它,在程序运行时,会将DLL文件释放到内存,这样可以在一定程度上泄露DLL文件,不选,会释放到临时文件夹,在程序结束前,这些临时文件是可以直接被复制出来的;
技巧2:Hide console,如果是GUI程序,应该选定它,这样就不会再出现CMD界面;如果就是通过CMD显示程序的输出,那就不勾选。
Version标签:根据自己的喜好填。
Output标签:设置好各选项后,按Make Executable即生成可执行程序,这个标签是打包的状态信息。
阅读(7964) | 评论(0) | 转发(0) |