美文网首页
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