2024-04-25 17:13:33 发布
网友
我正在解析python字节码(co_代码)。对于某些操作,我想知道python操作码的字节长度。在哪里可以找到python操作码的长度?在
所有CPython字节码操作码都是1字节长。在CPython 3.6+上,所有操作码都额外使用一个1字节的参数,每个指令总共有2个字节。在以前的版本中,小于特殊值HAVE_ARGUMENT的操作码不带参数,大于该值的操作码采用2字节参数,每个指令总共有1或3个字节。在
这样一个简单的函数可以帮助:
def compute_size(opcode): if sys.version_info >= (3, 6): return 2 return (1, 3)[opcode < dis.HAVE_ARGUMENT]
所有CPython字节码操作码都是1字节长。在CPython 3.6+上,所有操作码都额外使用一个1字节的参数,每个指令总共有2个字节。在以前的版本中,小于特殊值HAVE_ARGUMENT的操作码不带参数,大于该值的操作码采用2字节参数,每个指令总共有1或3个字节。在
这样一个简单的函数可以帮助:
相关问题 更多 >
编程相关推荐