我正在解析python字节码(co_code)。对于某些操作,我想知道python操作码的字节长度。哪里可以找到python操作码的长度?
发布于 2018-06-12 05:50:46
所有CPython字节码操作码都是1字节长。在CPython 3.6+上,所有操作码都另外采用1字节参数,即每条指令总共2个字节。在以前的版本中,小于特殊值HAVE_ARGUMENT的操作码不接受任何参数,而大于该值的操作码接受2字节的参数,因此每条指令总共有1或3个字节。
发布于 2019-06-09 04:20:23
这样一个简单的函数可能会有所帮助:
def compute_size(opcode):
if sys.version_info >= (3, 6):
return 2
return (1, 3)[opcode < dis.HAVE_ARGUMENT]
https://stackoverflow.com/questions/50806427
复制相似问题