Perl在哪里存储其中间字节码?

Perl在哪里存储其中间字节码?,perl,Perl,经过几次链接之后,我知道Perl负责编译和创建 中间字节码,然后解释该字节码。 我的问题是那个字节码在哪里 与java、c等其他语言一样,我们可以在编译后看到机器可执行的目标代码。虽然Perl不创建机器可执行代码,但应该有一些 它临时存储字节码的位置。它将字节码存储在内存中作为一个。编译的结果存储在内存中作为操作码树,简称为操作树。perl的运行时正在遍历此结构以执行您的程序 你可能会发现这个故事很有趣。它解释了构建一个perl操作树并执行perl操作树的许多细节 还可以使用B::C发行版和其中

经过几次链接之后,我知道Perl负责编译和创建 中间字节码,然后解释该字节码。 我的问题是那个字节码在哪里

与java、c等其他语言一样,我们可以在编译后看到机器可执行的目标代码。虽然Perl不创建机器可执行代码,但应该有一些
它临时存储字节码的位置。

它将字节码存储在内存中作为一个。编译的结果存储在内存中作为操作码树,简称为操作树。perl的运行时正在遍历此结构以执行您的程序

你可能会发现这个故事很有趣。它解释了构建一个perl操作树并执行perl操作树的许多细节


还可以使用
B::C
发行版和其中包含的
ByteLoader
模块将操作树写入磁盘并再次加载到另一个perl进程中。然而,这种技术在许多程序上都不太好用,因此不推荐使用。

虽然有一些令人兴奋的工作,主要是由Gerard Goosen推动的,实际上是给perl一个抽象语法树,但它目前还没有。此外,为什么需要字节码的AST?因为AST是关于语法的,所以它只与具有真实语法的语言相关,例如Perl源代码。这只适用于Perl6。不适用于Perl5。此外,AST不是存储字节码的对象。这就是可以用来生成字节码的东西。你知道取消定义名称空间会不会删除操作码吗?