C、Java、Python编译/解释比较

C语言(编译):

编译可以细分为两步:

1、汇编:生成汇编代码

2、编译:将汇编代码翻译为机器码


Java(先编译,后解释):

1、编译生成字节码bytecode。

       字节码是编码后的数值常量、引用、指令等构成的序列。字节码是从源代码到机器码的一种中间状态,不同场景下的字节码不完全一样,比如Java的字节码和python的字节码并不是完全一样的概念。

       字节码的特点是:与特定软件运行和软件环境有关,与硬件环境无关。

2、字节码由Java虚拟机解释运行。

      这步又包含:类的加载、类的执行两步。

说明:因为Java源代码中要求程序员指定每个变量的原始数据类型,所以Java也可以通过编译生成机器码。但这种做法编译出的Java包(机器码)是与硬件有关的。


Python(解释):

其实Python也有编译的过程,只不过是解释器先做了编译在做解释

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容