gpt4 book ai didi

perl - PAR::Packer 是如何工作的?

转载 作者:行者123 更新时间:2023-12-04 23:03:02 29 4
gpt4 key购买 nike

我正在使用 PAR::Packer,这个问题突然出现在我的脑海中。 PAR::Packer 在 Perl 中是如何工作的?它实际上是否将 Perl 脚本编译为 .exe,就像 g++ 将 C++ 源代码编译为 .exe 一样,或者它是否像 Python 中的 py2exe 一样工作,将解释器和脚本打包成 .exe?

最佳答案

为了明确这一点:

  • PAR::Packer 这样的工具不要“编译”你的 Perl 脚本。他们将 perl 解释器与您的源文件和任何需要的模块捆绑到一个大的可执行文件中。当它运行时,原始源代码被提取并提供给封闭的 perl。

    这工作得相当好,但不会提高速度(相反......)。唯一的优点是您可以将程序作为单个(尽管很大)文件分发,而无需依赖。
  • 有一个非常实验性的工具叫做 perlcc它能够将一些 Perl 程序转换为 C 或 Perl 字节码序列化。如the docs把它:

    The code generated in this way is not guaranteed to work. The whole codegen suite (perlcc included) should be considered very experimental. Use for production purposes is strongly discouraged.



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

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

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

    关于perl - PAR::Packer 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238420/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com