问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问怎样perl程序文件编译成可执行文件

发布网友 发布时间:2022-04-12 20:09

我来回答

4个回答

热心网友 时间:2022-04-12 21:38

于是就有此问。答案:在Linux下可以使用PerlCC(本身就随着PERL有的),他是把PERL转换成C语言,然后编译它。
如果在Windows下可以使用perl2exe(找破解版),建议使用PERLAPP(也就是ActivePERL的PDK套件),功能非常强大,不过是商业软件,也可以去找一个破解版本(最新版是5.3XXX).
PDK可以把PERL脚本编译成常规应用程序/WINDOWS SERVICE/工具栏程序等等.功能非常强大.也就是说你利用PERL编写的脚本,在Windows上面做一服务程序,完全没有问题.

热心网友 时间:2022-04-12 22:56

可以使用PERL2EXE,这是一个软件,把PERL程序转换为EXE,可以独立执行。

热心网友 时间:2022-04-13 00:31

一般创建的exe的方法如下:

1.使用 perl2exe 工具(需要购买)
2.使用 ActiveState 公司的 Perl Dev Kit (需要购买)

那么有没有免费的方案呢?

今天发现的方法就可以完全满足大家。

首先我们安装需要的模块,这里以 windows 平台下的 ActivePerl 为例
(Windows 下的最通用发行版本)。

打开 ppm,安装一下模块:
Parse-Binary, Win32-Exe, Mole-ScanDeps, PAR-Dist, PAR
安装PAR比较麻烦,这里是如何安装,以及如何解决碰到的问题:

第一步:ppm install par
这个比较简单,当然如果幸运的话,你应该可以直接使用par了,但是我没有那么幸运,因为安装之后找不到pp.bat,实际上这是ActivePerl的问题,没办法只能往下继续了。

第二步:重新安装par-packer
不过之前要更新一个模块File-Temp,我原来的版本是0.12,太低,换成0.18的
ppm install http://www.bribes.org/perl/ppm/File-Temp.ppd
然后安装par-packer 0.975
ppm install http://www.bribes.org/perl/ppm/PAR-Packer.ppd

第三步:这时已经可以使用pp.bat了,但是你会发现pp不能生成exe文件,总是报
erl lib version (v5.8.8) doesn't match executable version (v5.8.6)的错误,
原因在于二进制不兼容,需要继续修改。

第四步:下载5.8.8的par-packer
http://www.perl.com/CPAN/authors/id/S/SM/SMUELLER/PAR-Packer-0.975-MSWin32-x86-multi-thread-5.8.8.par

第五步:从par文件中提取Static.pm和Dynamic.pm两个文件(par可以用zip打开),用这两个文件替换C:/Perl/site/lib/PAR/StrippedPARL目录下的同名文件。

第六步:打开C:/Perl/site/lib/PAR/StrippedPARL目录下的base.pm,将第71行修改为
my @libs = (map {"-I/"$_/""} @INC);

第七步:执行pp -o t.exe t.pl,一切都OK了。

(par生成的可执行文件比较大,这是个缺点)

我在按照以上步骤安装PAR后,发现还是不能生成exe文件,错误信息如下:
The procere entry point perl_sv_2iv_flags could not be located in the dynamic link library perl58.dll
这个问题应该是ActiveState的版本问题,我的komodo版本是3.5.2,google了一下,发现有解决方案:
For ActiveState build 822 you can download the PAR dist from

http://backpan.perl.org/authors/id/S/SM/SMUELLER/PAR-Packer-0.976-MSWin32-x86-multi-thread-5.8.8.par

and install it with:

perl -MPAR::Dist -e"install_par( 'PAR-Packer-0.976-MSWin32-x86-multi-thread-5.8.8.par' )
也就是说,上面的第四步,应该到perl -MPAR::Dist -e"install_par(
'PAR-Packer-0.976-MSWin32-x86-multi-thread-5.8.8.par' )
去下载PP。继续第五步。跳过第六步。直接在命令行中运行pp命令即可。不过需要注意的是,命令行中需要使用pp.bat的完整路径,否则会出现pp
is not recongnized as an internal or external command的错误。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
墨兰烂根是怎么回事 墨兰烂根后如何养护 谢绝推销参观拍照摄影看房预约 看房子为什么不让拍照 执业药师各科考试时间分配 执业药师考试倒计时100天,怎样备考最有效 中药执业药师怎么备考? 手机拒绝所有来电了怎么设置回来 美国狼人在伦敦演职员表 美国狼人在伦敦幕后制作 美国狼人在伦敦制作发行 丰田汽车故障代码p1305什么意思 故障代码1305,进度条停留在10% 联通宽带出现的错误代码是1305怎么办? 清末竟然从1840年开始 应该亡国了 蒙古放牧人日常生活的习惯 当代学生2010第九届中学生古诗文阅读大赛专辑初中文言文初中文言文70篇的全文翻译 关于希伯来人 牧场物语的按键问题 急求2008第七届中学生古诗文阅读大赛专辑初中文言文翻译30~70 求文档: 山羊不吃天堂草在线阅读 草原放牧是一种什么样的体验? 我想问在南宁市有养鹅培训班吗? 文言文《苏武放牧》的解释 《放牧人生湖区故事》epub下载在线阅读全文,求百度网盘云资源 《放牧美利坚》txt下载在线阅读全文,求百度网盘云资源 梦见男朋友削梨给异性吃 北京王修身中医诊所怎么样? 孩子看中医北京哪个医院好 北京儿童医院中医科的3位国家级名老中医是哪几位?何时出诊? 天净沙.秋 赏析 100字左右 不要意思 山东反诈骗中心电话? 053296110是什么电话? 菏泽市反诈骗中心电话 京东回收手机靠谱么? 京东回收手机会承诺当时的价格吗 京东手机回收的过程是咋样的?手机给他们拿回去会不会他们不要而被调包?安全不 京东旧手机回收大家试过吗 京东回收手机怎么样?有闲置手机不想用了当二手买了,求有经验的说一下 京东爱回收估价和实际给的钱相差大吗 京东回收手机靠谱吗?我想把我的手机卖了。回收的时候需要把自己的手机恢复出厂设置啊, 蜂蜜西柚怎么做 西柚榨汁可以蜂蜜吗 小米cc9e手机开发者选项在哪 流量卡能不能注册 新浪微博可以发文时候可以不让个别好友看到吗 梦见我拿着枕头被子找妈妈? 梦见被子上和枕头上好多血、但自己身上没有 上网卡怎么申请 移动流量卡能不能申请 如何监控web服务器主要性能指标