获取Python程序的汇编代码

时间:2014-12-09 19:28:10

标签: python

我只是想知道是否有任何方法可以生成相当于python程序的汇编代码。类似于GCC的-S选项,它将为C程序提供汇编代码。

1 个答案:

答案 0 :(得分:4)

绝对。但是你不需要从外面调用它。

>>> import dis
>>> def foo():
...   a = b + 2
...   print bar
...   baz()
... 
>>> dis.dis(foo)
  2           0 LOAD_GLOBAL              0 (b)
              3 LOAD_CONST               1 (2)
              6 BINARY_ADD          
              7 STORE_FAST               0 (a)

  3          10 LOAD_GLOBAL              1 (bar)
             13 PRINT_ITEM          
             14 PRINT_NEWLINE       

  4          15 LOAD_GLOBAL              2 (baz)
             18 CALL_FUNCTION            0
             21 POP_TOP             
             22 LOAD_CONST               0 (None)
             25 RETURN_VALUE