编译过程

简介: 编译系统的运行过程源代码 --> 机器代码解释器运行程序的方法1.直接运行高级编程语言2.转换高级编程语言码到一些有效率的字节码(Bytecode),并运行这些字节码Python解释语言特点"拆解"代码:首先当用户键入代码交给Python处理的时候会先进行此法分析,例如用户...

编译系统的运行过程

源代码 --> 机器代码

  • 解释器运行程序的方法
    1.直接运行高级编程语言
    2.转换高级编程语言码到一些有效率的字节码(Bytecode),并运行这些字节码

  • Python解释语言特点

"拆解"代码:

  1. 首先当用户键入代码交给Python处理的时候会先进行此法分析,例如用户键入关键字或者当输入关键字有误时,都会被此法分析所触发,不正确的代码将不会被执行

  2. 下一步Python会进行语法分析,例如当"for i in test:"中,test后面的冒号如果写成其他符号,代码依旧不会被执行

  3. 在执行Python前,Python会生成.pyc文件,这个文件就是字节码1

  4. 如果不小心修改了字节码,Python下次重新编译该程序时会和其上次生成的字节码文件进行比较,如果不匹配则将会被修改过的字节码文件进行覆盖,以确保每次编译后字节码的准确性。


  1. 字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。简单来说就是在编译代码的过程中,首先会将代码中的函数、类等对象分类处理,然后生成字节码文件。有了字节码文件,CPU可以直接识别字节码文件进行处理,接着Python就可执行了。

知识在于点滴积累
目录
相关文章
|
程序员 Linux Android开发
libYuv编译
安卓使用NDK编译libYuv库
472 0
|
机器学习/深度学习 运维 自然语言处理
系统程序的编译与处理
系统程序的编译与处理
|
缓存 Java Shell
ThingsBoard详细编译指南2.4.3
ThingsBoard详细编译指南2.4.3
648 0
C++程序的编译过程
C++程序的编译过程
|
自然语言处理 编译器 C语言
C/C++程序的编译过程
C/C++程序的编译过程
222 0
C/C++程序的编译过程
jpegNPP编译为so
jpegNPP编译为so
86 0
|
Web App开发 存储 缓存
V8 编译浅谈
本文是一个 V8 编译原理知识的介绍文章,旨在让大家感性的了解 JavaScript 在 V8 中的解析过程。
V8 编译浅谈
|
编译器 开发工具 IDE
编译问题汇总
每次在编译各类第三方库的时候都会碰到很多问题,基本上都是通过Google解决,其实简单反思一下就会发现是对于系统了解的不够,对于各类标准也是了解甚少。所以一而再再而三发生的问题其实是可以尽量去避免的。
1969 0
|
Linux 开发工具 Android开发
libyuv编译【转】
转自:http://blog.csdn.net/kl222/article/details/41309541 版权声明:本文为博主原创文章,未经博主允许不得转载。 下载代码(要FQ): git clone http://git.
1452 0