把perl编译成可执行文件

mfkiu 2006-05-19 03:57:09
perl程序在运行时,需要perl解释环境,有没有办法把perl程序编译成可执行文件,可以在任意相同的操作系统上运行,而不依赖于perl环境?
...全文
2352 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
y6cmE 2007-03-23
  • 打赏
  • 举报
回复
呵呵,很久没来了。
呵呵,把源程序,模块,及其它东东写入EXE末(看你是否需要加密变化一下),再取出来运行。无需使用到任何模块,但需Perl58.dll。
打包后的程序构造:
不定数 PltoEXE.exe文件数据,用aspack压缩过,字节数固定。
八位数字 十六进制数串,高位在前。表明程序是否注册过或试用版。串值若为“y6cmE”代表已注册,继续运行,否则检查是否已使用21天,达到21天拒绝运行。
八位数字 十六进制数串,高位在前。代表采用的Perl.exe或WPerl.exe文件大小。
八位数字 十六进制数串,高位在前。代表源程序名称。
不定数 Perl.exe(WPerl.exe)文件数据。
十位数字 使用哪个DLL,如Perl58.dll。
八位数字 十六进制数串,高位在前。源程序大小。
不定数 采用文本化编码的字符串(u)。源程序数据。
八位数字 十六进制数串,高位在前。全部库占用长度。
八位数字 十六进制数串,高位在前。全部库文件数量。
========
八位数字 十六进制数串,高位在前。库名称长度。
不定数 库名称。
八位数字 十六进制数串,高位在前。库文件大小。
不定数 库文件数据。
========
重复上面直到全部库占用长度。
YTHTdeWo 2007-03-22
  • 打赏
  • 举报
回复
不过用ActiveState Perl Dev Kit的话,有一部分包括IO::Socket DBD DBI等这些常用的模块,由于Perl本身内置函数限制,采用了PerlXS接口通过C 程序达到目的的。这些是通过第三方程序达到目的模块是无法成功的编译
honghunter 2006-08-22
  • 打赏
  • 举报
回复
推荐使用ActiveState Perl Dev Kit,我一直都用这个的。

就是生成的exe很大,而且我发现,自从我从
ActivePerl-5.6.1.638-MSWin32-x86.msi + PDK-5.3.0.530.msi升级到,
ActivePerl-5.8.7.815-MSWin32-x86-211909.msi+PDK-Pro-6.0.2.203380.msi之后,
同样的pl源文件,编译出来的exe大了一倍多,原来基本5xxk,现在基本大小是1M了。
secyou 2006-08-18
  • 打赏
  • 举报
回复
当然是可以的,lz是要“可以在任意相同的操作系统上运行”,而不是“可以在任意的操作系统上运行”;编译成可执行文件后可以达到lz的要求;
wangxb_st 2006-08-17
  • 打赏
  • 举报
回复
两个软件可以把Perl脚本转成EXE文件(生成以后的文件挺大的):

1、perl2exe

2、ActiveState Perl Dev Kit

不过楼主的问题实际上不能解决,因为编译以后的exe只能运行于特定的平台,例如用Windows版本的编译器编译以后只能在Windows下运行,用Solaris版本的编译器编译以后只能在Solaris下运行。没有一个编译版本能够在所有操作系统下运行。
luodi 2006-08-05
  • 打赏
  • 举报
回复
看一下 ActiveState Perl Dev Kit,这个软件就在 Windows平台下就可以生成纯exe文件,不需要在目标机器上安装 perl,因为perl已经内嵌,Perl/Tk它也完全没问题,所以也可以生成纯GUI的执行文件。不是免费的,但是破解版的也是存在的,呵呵。
zkh8wlsf 2006-07-24
  • 打赏
  • 举报
回复
y6cmE() 楼上的 请指点一下
本人刚学perl
y6cmE 2006-07-23
  • 打赏
  • 举报
回复
呵呵,为什么不用Perl自己写一个将Perl Script打包成EXE的程序呢,我自己写了一个,可以打包包含模块或不含模块的脚本,Windows下的,你可以自己试试。
cangwu_lee 2006-07-06
  • 打赏
  • 举报
回复
听起来不错,但好像不可能
liu22 2006-07-02
  • 打赏
  • 举报
回复
经windows版的perl2exe编译后的可执行文件可以完全独立运行,不需要PERL环境支持,但只能在command窗口运行,不能在纯DOS下运行(旧版本的没试用过,也许可以在纯DOS下运行)
tenix 2006-06-29
  • 打赏
  • 举报
回复
python 2 ext
http://www.py2exe.org/
zyb1235 2006-06-29
  • 打赏
  • 举报
回复
我觉的是不能运行的
mfkiu 2006-06-15
  • 打赏
  • 举报
回复
编译好的可执行程序可以不需要perl运行环境而独立执行吗?
liqiuhua123 2006-05-21
  • 打赏
  • 举报
回复
windows有perl2exe,有免费版的。
iisbsd 2006-05-21
  • 打赏
  • 举报
回复
perlcc

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧