我打算了解解释器如何使用字节码并执行它。以Python为例,它生成字节码,然后进行解释。我想知道解释器如何使用字节码指令集并执行它们。你知道吗
例如:
>>> def test():
... print " hello"
...
>>> dis.dis(test)
2 0 LOAD_CONST 1 (' hello')
3 PRINT_ITEM
4 PRINT_NEWLINE
5 LOAD_CONST 0 (None)
8 RETURN_VALUE
现在,我将如何解释这个字节码指令并执行它?你知道吗
Tags:
Python使用一个求值循环来执行字节码。参见^{} 了解实现(在C中)。你知道吗
如果您想自己从Python解释字节码指令,那么您需要对每条指令应该做什么以及在何处找到控制其执行的数据结构有一个很好的了解。
LOAD_CONST 1
例如,这里从附加到函数的代码对象加载索引1处的常量并将其放入堆栈,PRINT_ITEM
获取堆栈顶部的值,将其转换为字符串并将其写入sys.stdout
。你知道吗相关问题 更多 >
编程相关推荐