今天早些时候,我问了一个关于 Python 处理某些类型循环的方式的问题。其中一个答案包含我的示例的反汇编版本。
我想知道更多。如何反汇编我自己的 Python 代码?
今天早些时候,我问了一个关于 Python 处理某些类型循环的方式的问题。其中一个答案包含我的示例的反汇编版本。
我想知道更多。如何反汇编我自己的 Python 代码?
看dis模块:
def myfunc(alist):
return len(alist)
>>> dis.dis(myfunc)
2 0 LOAD_GLOBAL 0 (len)
3 LOAD_FAST 0 (alist)
6 CALL_FUNCTION 1
9 RETURN_VALUE
除了dis
作为模块使用外,您还可以将其作为命令行工具运行
例如,在 Windows 上,您可以运行:
c:\Python25\Lib\dis.py test.py
并将反汇编结果输出到控制台。
使用dis
Python 标准库中的模块(import dis
例如在交互式解释器中,然后dis.dis
使用您关心的任何函数!-)。