http://c.biancheng.net/cpp/view/6994.html

任何代码最终都要被“翻译”成二进制的形式才能在计算机中执行。

有的编程语言,如 C/C++、Pascal、Go语言、汇编等,必须在程序运行之前将所有代码都翻译成二进制形式,也就是生成可执行文件,用户拿到的是最终生成的可执行文件,看不到源码。

这个过程叫做编译(Compile),这样的编程语言叫做编译型语言,完成编译过程的软件叫做编译器(Compiler)。

而有的编程语言,如 Shell、JavaScript、Python、PHP等,需要一边执行一边翻译,不会生成任何可执行文件,用户必须拿到源码才能运行程序。程序运行后会即时翻译,翻译完一部分执行一部分,不用等到所有代码都翻译完。

这个过程叫做解释,这样的编程语言叫做解释型语言或者脚本语言(Script),完成解释过程的软件叫做解释器。

编译型语言的优点是执行速度快、对硬件要求低、保密性好,适合开发操作系统、大型应用程序、数据库等。



编译型语言和解释型语言区别,编译器,解释器的区别相关推荐

  1. 一文直观理解编译型语言、解释型语言和脚本语言的区别

    祁子禹 作为读者朋友的你很有钱,买下了一个电台,希望实现年少时开设私人电台的梦想. 你还酷爱诗歌文学,常常酾酒临江,横槊赋诗. 希望通过无线电波传到每个角落,让世界人民都能欣赏你的思绪飞扬. 当了电台 ...

  2. python编辑器和python解释器的区别_python编译器和解释器的区别

    高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器. 编译型语言通常的执行过程是:源代码--预处理器--编译器--目标代码--链接器--可执 ...

  3. 编译型语言和解释型语言的区别总结

    编译型语言和解释型语言的区别 编写的源代码是人类语言,我们自己能够轻松理解:但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代 ...

  4. 【python教程入门学习】编译型语言和解释型语言的区别

    我们编写的源代码是人类语言,我们自己能够轻松理解:但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令. 所谓 ...

  5. 学了这么久编程,你还分不清编译型语言和解释型语言?他们的区别你全知道吗?

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

  6. 编译型语言、解释型语言,特点、区别

    编译型语言.解释型语言的区别 简述 究竟在什么时候将源代码转换成二进制指令呢? 编译型语言和解释型语言各有什么特点?有什么区别? 编译型语言 解释型语言 为什么解释型语言就能快平台呢? 总结 简述 我 ...

  7. 概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】

    概念区别 [编译型语言与解释型语言.动态类型语言与静态类型语言.强类型语言与弱类型语言] 文章目录 一.编译型语言与解释型语言 二.动态类型语言与静态类型语言 三.强类型语言与弱类型语言 总结 一.编 ...

  8. 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别

    编译型语言和解释型语言 1.编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言.一般需经过编译(compile).链接(linker)这两个步骤.编译是把源代码编译成 ...

  9. 编译型语言和解释型语言之间的区别及特点

    编译型语言 编译型语言先要进行编译,然后转为特定的可执行文件,这个可执行文件是针对平台的(CPU类型),可以这么理解你在PC上编译一个C源文件,需要经过预处理,编译,汇编等等过程生成一个可执行的二进制 ...

  10. 关于编译器与解释器的区别

    为了让更多的人能够从本质上理解编译器和解释器的区别,我杜撰了一个小故事 来福与旺财的养牛场 来福和旺财有一个养 牛场.本来养牛不是一件太难的事情,但是偏偏他俩养的牛都有特别的怪癖.奶牛阿圆只吃切成圆形 ...

最新文章

  1. CAS集成oauth2协议的支持
  2. [Leetcode] Insertion Sort List
  3. 【REST】REST和JAX-RS相关知识介绍
  4. ssh代理登录内网服务器
  5. python中functools_functools模块2个常用函数
  6. 史上最全Git学习教程
  7. 几点减几点怎么列算式_洁净室平面设计怎么做?洁净室施工做到这几点就对了...
  8. mysql update 顺序_MySQL的Update语句Set顺序问题
  9. 编写程序,用户输入一个位以上的整数,输出其百位以上的数字。例如用户输入1234.则程序输出12.
  10. java基础之输入语句
  11. 10大改变世界的未来科技
  12. Flexbox 基础知识
  13. 【2018】【论文笔记】最后一米太赫——
  14. 5.26——工作记录
  15. 【外贸】英文缩写(包装信息、日常沟通邮件)
  16. 计算机对商务英语的不利之处,商务英语教学中计算机网络利弊分析论文.docx
  17. 黑中介北京链家,收了中介费,不给你服务
  18. c 之父 java is not_Java之父评价C语言之父:我用尽了形容词
  19. 2020酒店互动电视IPTV系统七种解决方案
  20. 英语音标(Phonetic symbol)

热门文章

  1. 【Nginx】第一章 快速入门
  2. 【LeetCode】剑指 Offer 17. 打印从1到最大的n位数
  3. Java容器有哪些?
  4. 100行代码搞定抖音短视频App,终于可以和美女合唱了。
  5. salt 文件push使用方法
  6. 【.net 深呼吸】项目中是否有必要删去多余的引用
  7. 隐藏ribbon按钮
  8. arcgis api for js共享干货系列之二自定义Navigation控件样式风格
  9. World Wind Java开发之六——解析shape文件(转)
  10. Linux (x86) Exploit 开发系列教程之十二 释放后使用