2014-12-09 2 views
0

Мне просто интересно, есть ли способ генерации кода сборки, эквивалентного программе python. Что-то похожее на вариант GCC -S, который даст код сборки для программ C.Получение кода сборки для программ Python

+2

Как вы знаете, Python обычно не скомпилирован в собственный код ассемблера. –

ответ

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   
Смежные вопросы