1. 引言

我们编写的代码需要按照某些组织制定的规范,对于程序员来说,能够轻松理解;但是对于计算机来说,它们根本无法理解我们编写的代码,只能识别二进制指令。

2. 编译型语言(如C++)和解释型语言(如Python)

编译型语言:源代码直接被编译为可执行文件(二进制指令),在后续直接运行可执行文件,效率较高;

解释型语言:边执行源代码边转换为二进制指令,每一次都需要重新解释执行,效率较低。

3. 可执行文件为什么不能跨平台

首先,这里的平台其实是指操作系统。那么可执行文件为什么不能跨操作系统呢?有些人会回答是由于不同的操作系统具有不同的二进制指令。但其实只有计算机的架构不同(如x86、ARM),才存在指令不同。实际上,不同操作系统的可执行文件有不同的格式,Windows是PE格式,而Linux是ELF格式。

其次,不同的操作系统在文件操作、资源分配、任务调度上存在着不同。

4. 解释型语言为什么能跨平台

源代码在不同的平台上有不同的解释器进行解释、运行,因此解释型语言可以跨平台。注意:虽然解释型语言是边执行边解释,但仍然要整体进行语法、语义检查后再一行一行解释执行。

5. 半编译半解释的Java语言

java源代码先经过编译,得到 .class为后缀的字节码文件,然后该字节码文件可以跨平台。因为不同平台有不同的Java虚拟机(Java Virtual Machine, JVM),JVM可以解析、执行字节码文件。所以有着“一次编译,到处运行”的口号。

半编译半解释的Java语言和C++、Python等语言的区别相关推荐

  1. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  2. java半解释半编译_编译型语言、解释型语言、半编译半解释型语言

    计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序.将其他语言翻译成机器语言的工具,被称为编译器. 编译器翻译的方式有两种:一种是编译,一种 ...

  3. java语言和C语言的区别

    java语言和C语言的区别 简单的说就是两种不同的语言. 区别如下: 1在运行方式上: C:原始的C是面向过程的.就是按行执行. JAVA:绝对的面向对象.就像按模块执行. (补充:当然,在C++,及 ...

  4. 论述c语言和java语言的区别,java语言和c语言的区别有哪些

    java语言和c语言的区别有单文件的编译时间java比c语言快:c语言可以直接操作内存,java不能直接操作:c语言可以封装动态库,java不行:c语言有指针,java没有指针:c语言可以直接操作串口 ...

  5. java语言和c语言_java语言和c语言的区别

    java语言和c语言的区别 java语言和c语言作为编程的两大语言,它们之间存在什么样的区别呢?下面百分网小编就为大家讲一讲,希望对您有所帮助! C语言是一门通用计算机编程语言,应用广泛.C语言的设计 ...

  6. c语言 python-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  7. python和c语言的区别-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  8. java语言和python语言发展前景哪个好?

    java语言和python语言发展前景哪个好? [导语]众所周知,java和python都是现下比较受欢迎的编程语言,网上有许多文章都举例论证了Python语言和Java语言之间的比较,但两者各有优势 ...

  9. C语言和C++语言在语法上面的部分区别

    (2011-03-16 17:12:13) 标签: 杂谈 分类:计算机 C语言和C++语言在语法上面的部分区别: 1.C语言的定义必须在最前面,C++可以在任何地方定义,比如 for(int i=0; ...

最新文章

  1. torch.nn.Embedding()理解
  2. Android 哥哥福利
  3. 《怎样解题》-波利亚
  4. 面具卡米怎么删模块_魔兽8.3咋肥事——面具带几个收益高?对小怪宝箱水晶有加成吗?...
  5. highlight.js 语法高亮,让你的页面更美观~
  6. 第三堂:Java程序流程控制
  7. 7-23 哥尼斯堡的“七桥问题”(25 分)
  8. JAVA语言isPrime关键词_Java Guava IntMath isPrime()用法及代码示例
  9. java车牌识别字符分割_车牌识别之字符分割
  10. 7月22日自助装机配置专家点评
  11. 《服务外包概论》知识点梳理
  12. mysql 1556_mysqldump: Got error: 1556: You can't use locks with log tables
  13. 2020年务必要了解的最好用的14款CI/CD工具
  14. 你面对以希望为名的绝望微笑(未完成)
  15. cisco 路由器时间戳service timestamps
  16. debian 11安装搜狗输入法
  17. 火车售票系统设计 c语言,C语言火车售票系统
  18. 1896-2021历届奥运会奖牌动态排序动画(Python数据采集)
  19. 详解GCC的下载和安装
  20. EJB学习日记(7)

热门文章

  1. 【测试】SAP选择屏幕界面配图实现
  2. 几家OA厂商介绍及产品特点总结
  3. 深度解读:都是顶薪为什么浓眉远超卡哇伊?
  4. 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
  5. 单面煎鸡蛋,健康有风险
  6. linux mail 密码错误,linux下mail使用故障解决
  7. c语言农夫过河游戏代码解释,农夫过河C++代码
  8. python对话框代码_Python、tkinter、复杂对话框和代码结构
  9. agv调度matlab程序,AGV调度方法入门
  10. 关于 ESP,EBP,EIP