您的位置:首页 >> Web开发 >> CGI技术 >> 正文
CGI技术 RSS
 

Perl语言全面编译(一)

http://www.rdxx.com 07年10月09日 00:00 我要投稿

关键词: 编译 , 语言 , Perl
境和模式。 
   
第一节 PerlApp和PerlSvc编译方法
 
PerlApp和PerlSvc是ActiveState 公司开发的,它属于 Active Perl Dev Kit(PDK)产品。本编译方法只适合于Windows2000上运行,其它系统均无法正常使用,编译程序必须是标准Perl和ActivePerl。 
PDK下载地址:http://ftp.tanshuai.net/pub/  ftp://ftp.tanshuai.net/pub/  
PerlApp和PerlSvc,前者是标准的应用程序,后者是Windows2000的服务程序(类似与IIS,一开机就启动的服务程序,而且无法中断它的运行)。他们有两种运作模式:依靠(Dependent)和独立(Freestanding),“依靠”模式程序运行的系统上必须有Perl解析器和相关模块,这样的程序相对较小;“独立”模式,Perl解析器等相关模块都会完全嵌入在程序之中,这样的程序在任何Windows2000操作系统上都可以顺利运行,而不需要额外的支持,但是程序相对较大。 
使用方法: 
标准使用方法(“依靠”模式): 
perlapp <脚本名> 
这样程序就会创建一个以脚本名命名的可执行文件<脚本名.exe> 
“独立”模式: 
perlapp(或者perlsvc) –f <程序名> 
定义输出可执行文件名: 
perlapp(或者perlsvc) –e=tanshuai.exe test.pl 
它将会把test.pl文件输出的可执行文件名改为“tanshuai.exe”。 
设置程序属性: 
perlapp(或者perlsvc) -i=<类表> <程序名> 
类表名 目标项目 
Filenumber 文件号码 
Productnumber 产品号码 
Productname 产品名称 
Legaltrademarks 合法商标 
Filedescription 文件说明 
Originalfilename 原文件名 
Fileversion 文件版本 
Comments 注解 
Productversion 产品版本 
Companyname 公司名称 
Internalname 内部名称 
Legalcopyright 版权 
 
这个时候有些人可能不大明白,这个是干什么用的。如果你曾经编写过Win32程序,那就会知道,它是Windows程序的版本说明(如图1)。 

图1 Perl.exe文件的版本说明 
名称与数值用“;”分开。而且所有项目值都需小写。 
清理PerlCtrl 的DLL: 
perlapp(或者perlsvc) –c <程序名> 
添加模块: 
perl(或者perlsvc) –a=<列表> 
如:perlapp tanshuai.pl –a=IO:Socket;XML::Parser;Tanshuai::Http;MP3; 
这样模块IO:Socket,XML::Parser,Tanshuai::Http和MP3就被置入程序内。 
Perl图形界面: 
perlapp(或者perlsvc) –g <程序名> 
如果你的程序非命令行或者CGI,是T/K图形界面的话,就需要采取这个命令。 
排除 Perl56.dll: 
perlapp(或者perlsvc) –x <程序名> 
Perl56.dll是PerlApp执行的关键,但是如果你不希望他和你的程序在一起,你可以把它排除,另行安置,但是主意,一定要保证它的存在否则就无法正确运行 
添加额外文件: 
perlapp(或者perlsvc) –b=<文件列表> <程序名> 
如果你希望在程序内部打开文件,请使用这个命令。 
如:open(FILE,“./PerlAPP.TXT“);@FILE=;close(FILE); 
这样就必须打开“PerlAPP.TXT“文件,但是你如果把它置入程序,它将会在内存中打开。(无法写入) 
报告嵌入模块错误: 
perlapp(或者perlsvc) -r <程序名> 
一些模块无法嵌入,使用该命令可以得出相关信息。 
输出详细信息: 
perlapp(或者perlsvc) <程序名> -v 
如:perlapp tanshuai.pl –v 
输出: 
Using myScript.pl for script name 
Input script name: tanshuai.pl 
Output exe name: tanshuai.exe 
Exe Mode: Perl Dependent 
Creating dependent executable 
   
解释:PerlApp 和PerlSvc无法在Windows95/98/ME PerlApp使用的部分Win32 API函数未被支持。

上一页 下一页


 
 
标签: 编译 , 语言 , Perl 打印本文
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站