如何转储Perl程序使用的机器指令

时间:2010-08-12 06:44:27

标签: perl

两个相关问题

  1. 运行程序后,如何查看执行的机器代码?
  2. 此外,perl执行是否将整个pl及其模块转换为机器代码或仅执行它所执行的部分?

1 个答案:

答案 0 :(得分:10)

Perl是interpreted language。更详细地了解Perl如何工作表明perl具有编译器的一些功能,一些解释器。有关详细信息,请参阅introduction to perlruncompiler section of perlguts

Perl被编译成一组操作码,这些操作码由作为perl二进制文件一部分的虚拟机执行。您可以使用B::Concise之类的工具查看这些操作码。

如果你想看到实际的处理器特定指令,你将不得不做一些严肃的黑魔法。您可以在配置为记录给定可执行文件执行的所有指令的特殊虚拟机上运行perl。

另一种可能的方法是使用B::C创建Perl脚本的已编译C版本。然后,您可以检查本机编译的代码。