PAR::Packer 如何工作?

2023-12-20

我正在使用 PAR::Packer,这个问题突然出现在我的脑海中。 PAR::Packer 在 Perl 中如何工作?真的吗compilePerl 脚本到 .exe 就像 g++ 将 C++ 源代码编译到 .exe 一样,还是像 Python 中的 py2exe 一样工作,将解释器和脚本打包到 .exe 中?


为了绝对清楚地说明这一点:

  • 类似的工具PAR::Packer https://metacpan.org/module/pp不要“编译”你的 Perl 脚本。他们将 perl 解释器与源文件和任何所需的模块捆绑在一起,形成一个庞大的可执行文件。当它运行时,原始源代码被提取并提供给附带的 perl。

    这工作得相当好,但并没有提高速度(相反......)。这only优点是您可以将程序作为单个(尽管相当大)文件分发,而无需依赖项。

  • 有一个非常实验性的工具,叫做perlcc它能够将一些 Perl 程序转换为 C 或 Perl 字节码序列化。作为the docs https://metacpan.org/module/perlcc put it:

    不保证以这种方式生成的代码能够工作。应考虑整个 codegen 套件(包括 perlcc)very实验性的。强烈建议不要将其用于生产目的。

    这是因为Perl语言不支持静态编译。它需要能够在主执行阶段发生的同一会话期间解析某些动态功能期间执行代码。

还有其他商业工具,通常与 PAR::Packer(创建胖可执行文件)属于同一类别。

摘要:如果您想要单个可执行文件,请使用 PAR::Packer。如果您想要速度,请内联一些 C (或使用 XS)。没有任何工具可以将所有 Perl 脚本编译为机器代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PAR::Packer 如何工作? 的相关文章

  • SFTP文件同时上传和下载

    cronjob 每 3 小时运行一次 使用 SFTP 下载文件 调度程序是用Perl编写的 使用的模块是Net SFTP Foreign Can the Net SFTP Foreign下载仅使用 SFTP 部分上传的文件 如果是这样 我们
  • 使用 Perl 写入文件的最简单方法是什么?

    目前我正在使用 system echo panel login panel password root name root pass port panel type gt gt home shared ftp 使用 Perl 做同样的事情最
  • Mason 方法范围 - 覆盖

    Using Mason2 https metacpan org pod Mason 有 3 个组件 Base mc tmp Base mc tmp index mc The tmp index mc内容 hello from the Som
  • 从 shell 脚本调用 Perl,如何将返回值从 Perl 传递到 shell?

    我成功地从 shell 脚本调用 Perl 脚本 现在我想将 Perl 脚本的返回值传递给 shell 脚本 指示它是否成功 我该怎么做呢 只需使用适当的退出值退出 Perl 脚本即可 exit exit value exit 0 if p
  • 从 Perl 线程生成 Expect

    我正在编写一个脚本 该脚本需要定期 每 5 分钟 生成一个 Expect 进程来完成一些工作 下面是我的代码 它生成一个 Expect 进程并执行一些工作 脚本的主要进程始终在做一些其他工作 例如它可能等待用户输入 因为我在一个线程中调用这
  • 为什么Perl的SUPER调用不使用箭头方法?

    我注意到 当您调用超类的方法时 您需要执行以下操作 my self class gt SUPER new 为什么不是这样 my self class gt SUPER gt new 我怀疑是因为 class gt SUPER gt new
  • 如何在没有循环的情况下初始化哈希中的值?

    我正在尝试找出一种无需经过循环即可初始化哈希的方法 我希望使用切片来实现这一点 但它似乎没有产生预期的结果 考虑以下代码 usr bin perl use Data Dumper my hash hash currency symbol B
  • 在 C# 中将 Exe 文件作为嵌入式资源运行

    我有一个第 3 方 EXE 我只需要从我的 C 应用程序运行它 我的主要目标是对我的 C 文件中的第 3 方可执行文件进行版权保护 有没有更好的方法来做到这一点 我怎样才能做到这一点 首先将嵌入的可执行文件作为资源文件添加到您现有的资源文件
  • 在运行时生成可执行文件

    好吧 所以我想知道如何创建一个程序 该程序创建第二个程序 就像大多数压缩程序如何创建自解压自可执行文件一样 但这不是我需要的 假设我有 2 个程序 每个都包含一个类 我将使用一个程序来修改类并用数据填充类 第二个文件将是一个也具有该类的程序
  • 这可以一行完成吗?

    我像这样提取MAC地址 my tmp split domain 123 123 123 123 at 00 11 22 33 44 55 ether on eth0 my vip tmp 3 但不使用临时变量可以完成吗 是的 它可以 my
  • 使用perl,在每行都有相同单词的情况下如何选择最后两行?

    Bini 21 89753 20 47853 20 27835 18 34952 16 23454 Bini 16 89753 14 47853 13 27835 12 34952 11 23454 Bini 10 09014 我的文件有一
  • Path::Class::File 或 ::Dir & Moose 初始化和强制

    目前有 package Local use warnings use Moose use Method Signatures Simple use Path Class File use Path Class Dir method buil
  • unix df 上的正则表达式帮助

    我需要一些帮助来调整我的代码以查找此 UNIX 中的另一个属性df output Ex Filesystem Size Used Avail Capacity Mounted on dev ad4s1e 61G 46G 9 7G 83 ho
  • Perl YAML 模块无法识别标量类型

    我加载以下 yaml 文件 foo bar s 1 hx 0x34 用这段代码 use YAML qw LoadFile Dump use Data Dumper my d LoadFile test yaml print Dumper d
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • 在perl中调用基本构造函数

    从 Perl 中的类构造函数调用基本构造函数的正确方法是什么 我见过这样的语法 my class shift my a shift my b shift my self class gt SUPER new a b return self
  • 将 HTML 转换为 Excel 的最佳方法是什么

    我有一个 HTML 页面 其中包含 Flash 图表 FusionCharts 和 HTML 表格 我需要将这整个事情转换成Excel HTML 表格应显示在 Excel 工作表的单元格中 Flash 图表可以显示为图像 我们可以使用任何开
  • Perl 的 caller() 函数返回错误的行号

    我在 Perl 5 10 1 上运行了以下脚本 usr bin perl use strict use warnings foreach my x 0 x lt 1 x Line 5 print line Line 6 sub print
  • 使用 LWP::Agent 的 Perl JSON::RPC::Client

    我被要求不使用 JSON RPC Client 而是使用 LWP 进行调用 这是我的代码 Server usr bin perl use strict use lib use ServerLib use JSON RPC Server Da
  • 打包 Perl 应用程序,以便它可以在 Perl 的默认前缀之外工作

    我正在使用 Module Build 尽管我在构建环境上很灵活 来打包我正在编写的一些 Perl 软件 供我工作的内部使用 它包括一些脚本和一些辅助模块 我的计划是这样你就可以指定任何你想要的前缀 即perl默认值之外的东西 INC 在构建

随机推荐

  • PHP 从循环生成 Array()? [复制]

    这个问题在这里已经有答案了 我刚刚写了这篇文章 这是将数组添加到预先存在的数组的最有效方法吗 c 4 i 1 myarray array while i lt c array push myarray array key gt value
  • 如何从自定义按钮触发 Facebook Like 按钮?

    我创建了一个自定义的 Facebook Like 按钮 如何让我点击按钮时 会触发 Facebook 提供的点赞按钮 如下所示 根据脸书政策 https developers facebook com policy socialplugin
  • 设置变量时 jQuery .val() 不起作用

    如果我有这样的输入
  • HID 设备的 INF 文件 - 设置名称和图标

    我正在寻找为 HID 设备 具有自定义 VID PID 创建一个 inf 文件 我只想用我们的字符串替换我们设备的 HID 兼容设备 和 USB 输入设备 字符串 我知道这需要 Microsoft 签名 但是有一个很好的示例说明如何执行此操
  • 将 RSS feed 输出为 html?

    是否有任何免费的 php javascript 库可以帮助将 RSS feed 显示为 html 在我看来简单派 http simplepie org是最好的 RSS 解析器之一 这是一个例子 require once simplepie
  • 如果我将所有图像保留在drawable-hdpi 文件夹中会发生什么?

    我的所有图像都在drawable hdpi 文件夹中 我完成了所有屏幕尺寸的所有布局 但我忘记将图像放入drawable mdpi文件夹和drawable ldpi文件夹中 如果具有 mdpi 屏幕密度的手机要下载我的应用程序 它会只使用
  • 在不知道高度宽度的情况下用背景图像填充 SVG 路径

    我能够创建一个包含填充 SVG 路径的 SVG 图像 正如这个问题中已经提到的 使用背景图像填充 SVG 路径元素 https stackoverflow com questions 3796025 fill svg path elemen
  • 如何使用7z SDK压缩和解压文件

    根据这个链接如何使用 NET 创建 7 Zip 档案 https stackoverflow com questions 222030 how do i create 7 zip archives with net WOPR 告诉我们如何使
  • 为什么 :host 选择器只能在带有 platform.js 的 chrome 中工作?

    关于如何设计 Web 组件的样式有很多讨论 例如 http www html5rocks com en tutorials webcomponents shadowdom 201 http www html5rocks com en tut
  • 方案:何时使用 let、let* 和 letrec? [复制]

    这个问题在这里已经有答案了 let let 和 letrec 之间有什么区别 请给出详尽的解释和例子 你最好的选择是阅读R5RS 官方说明 http www schemers org Documents Standards R5RS HTM
  • 如何从app.config获取这个配置值?

    我的朋友有以下 app config 他想要获得的价值address 怎么做
  • 如何将 Ransack 搜索保存到数据库?

    我正在尝试将 Ransack 搜索保存到数据库中 我相信我应该能够存储params q 值 然后当我想调用搜索时将其附加到搜索 URL 我不知道如何保存params q 不过 值 Ransack 创建的 URL 是这样的 http site
  • 极限分片:每个用户一个 SQLite 数据库

    我正在开发一个介于电子邮件服务和社交网络之间的网络应用程序 我觉得它未来有潜力变得非常大 所以我担心可扩展性 我决定为每个活动用户创建一个单独的 SQLite 数据库 每个 分片 一个活动用户 而不是使用一个集中式 MySQL InnoDB
  • 如何使用log4j2删除旧日志

    仅供参考 我已经在网上搜索了很多文档 我使用的是storm 0 10 0 beta1 Storm中log4j2的配置文件是worker xml 现在 我尝试使用log4j2 我正在寻找删除旧日志的方法 但我找不到 部分配置如下
  • 在“for in”循环中访问迭代器

    根据我的理解 当运行如下代码时 for i in MyObject print i 我的对象 iter 函数运行 for 循环使用它返回的迭代器来运行循环 是否可以在循环中访问此迭代器对象 它是一个隐藏的局部变量 还是类似的东西 我想做以下
  • UITextView 加载时未滚动到顶部

    当我的文本未填充 UITextView 时 它会按预期滚动到顶部 当文本超出屏幕所能容纳的范围时 UITextView 会滚动到文本的中间 而不是顶部 以下是一些可能相关的详细信息 在 viewDidLoad 中在 UITextView 的
  • 在 Django 模板中显示反向多对多

    我正在为小型销售 CRM 应用程序创建警报 通知系统 我有一个 Lead Contact 模型 用于存储客户的姓名 地址等 以及一个 Contact Notifier 模型 用于跟踪首次联系客户的时间 最后一次联系以及我们何时进行下一步联系
  • Python Tkinter 根标题不起作用

    我似乎无法给我的窗口命名 他们都有标题 Tk 我相信我的代码是正确的 所以如果这是错误的 请纠正我 from Tkinter import root Tk root title Title root mainloop 标题仍然是Tk 我可以
  • 为什么VS代码中的这个问题匹配器不起作用?

    为什么我的 ProblemMatcher 不起作用 我对正则表达式非常确定 但它没有报告任何问题 即使标准输出上有一些问题 the matcher problemMatcher owner typescript fileLocation r
  • PAR::Packer 如何工作?

    我正在使用 PAR Packer 这个问题突然出现在我的脑海中 PAR Packer 在 Perl 中如何工作 真的吗compilePerl 脚本到 exe 就像 g 将 C 源代码编译到 exe 一样 还是像 Python 中的 py2e