美文网首页
python2.7 字节码文件格式

python2.7 字节码文件格式

作者: wayyyy | 来源:发表于2020-07-19 22:43 被阅读0次

以下验证在pyhton 2.7
如下文件:

编译生成字节码文件:


Snipaste_2020-06-14_01-47-10.png
  • 03 f3 0d 0a
    表示魔数

  • a9 fb e0 5e
    表示文件创建时间。

  • 63
    字符c,表示接下来是CodeObject结构

  • 00 00 00 00
    argcount 表示参数个数

  • 00 00 00 00
    nlocals表示局部变量的个数

  • 03 00 00 00
    stacksize表示执行这段code所使用的操作数栈的深度。

  • 40 00 00 00
    flags

  • 73
    s

  • 0d 00 00 00
    表示字节码的长度,这里长为13

  • 64 00 00 64 04 00 17 47 48 64 03 00 53
    字节码,每个字节码都有一个编号,叫做操作码,大小1个字节,python的字节码分为2种类型:

    • 一种是带参数:操作码 参数
      最多也只能带一个参数,而每个参数占2个字节
    • 一种是不带参数的:操作码

    上面的字节码解析为:

    • 64 00 00
      LOAD_CONST 0
    • 64 04 00
      LOAD_CONST 4
    • 17
      BINARY_ADD
    • 47
      PRINT_ITEM
    • 48
      PRINT_NEWLINE
    • 64 03 00
      LOAD_CONST 3
    • 53
      RETURN_VALUE
  • ``
    consts 常量表,保存着程序所使用的所有常量。

相关文章

网友评论

      本文标题:python2.7 字节码文件格式

      本文链接:https://www.haomeiwen.com/subject/nyvtxktx.html