编译系统与解释系统

下面关于解释系统和编译系统的说法中,错误的是()

A.解释程序不产生目标代码,直接执行源程序或源程序的内部形式

B.使用编译系统时会区分编译阶段和运行阶段

C.一般来说,解释系统比编译系统复杂,但是可移植性好

D.一般来说,建立在编译基础上的系统执行速度要比建立在解释基础上的系统快

答案是选A, 错在后半部分,并不是直接执行源程序,而是必须要转换为机器可识别码才能运行

C++代码每一次进行更新都需要重新编译,有些大型系统编译一次需要花很长时间,这就对系统的调试带来很多不便,如linux内核,这个是编译系统的一个不足。

 

下面是对编译型语言和解释型语言介绍:

编译型语言:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的。编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术C、C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是编译实现的。

解释型语言:
解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低。用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的。与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码后再执行。解释程序的优点是当语句出现语法错误时,可以立即引起程序员注意,而程序员在程序开发期间就能进行校正。对于解释型Basic语言,需要一个专门的解释器解释执行 Basic程序,每条语言只有在执行才被翻译。这种解释型语言每执行一次就翻译一次,因而效率低下。一般地,动态语言都是解释型的,如Tcl、Perl、Ruby、VBScript、 JavaScript等。
混合型:
Java很特殊,Java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后在Java虚拟机上用解释方式执行字节码。Python 的也采用了类似Java的编译模式,先将Python程序编译成Python字节码,然后由一个专门的Python字节码解释器负责解释执行字节码。(Java虚拟机对字节码的执行相当于模拟一个cpu,而ruby1.8--在虚拟机还未出现前--是通过解释成语法树执行。)

个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是如果非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VSCode本身并不是一个编译器,而是一个代码编辑器。它支持各种编程语言的语法高亮、代码补全、调试等功能,但是它并不自带编译器。如果你想在VSCode中编译运行代码,你需要安装相应编程语言的编译器,并且配置VSCode的编译系统。 对于不同的编程语言,需要采用不同的编译器和编译系统。例如,对于C/C++语言,可以使用GCC或者Clang等编译器,并且可以配置VSCode的tasks.json文件来定义编译任务。对于Java语言,可以使用JDK来编译运行代码,并且可以通过VSCode的插件来实现编译运行功能。对于Python语言,可以使用Python解释器来执行代码,并且可以通过VSCode的Python插件来实现调试功能。 总之,VSCode并不是一个编译器,它需要结合相应的编程语言和编译器才能实现编译运行的功能。 ### 回答2: VScode 是一款轻量级、开源、跨平台的集成开发环境,具有丰富的扩展功能。它内置了编译系统,使得开发者在编辑代码的同时可以直接进行代码的编译和运行,提高了开发效率。 VScode 的编译系统可以支持多种编程语言,如C、C++、Java、Python等。它通过集成编译器和调试器,使得开发者可以在同一个界面中完成代码编辑、编译和调试的工作。开发者只需配置好相应的插件和工具链,就可以在VScode中一键编译代码,并及时查看编译结果和错误提示。 VScode 的编译系统还支持自定义编译命令和参数,开发者可以根据自己的需要配置编译过程中的各种参数,例如编译选项、依赖库路径等。这样可以满足不同项目和开发需求的编译要求,并方便进行项目的构建和管理。 此外,VScode的编译系统还具有丰富的调试功能,开发者可以通过在代码中设置断点、查看变量值和调用栈等来调试代码。VScode还提供了一些快捷键和命令,方便开发者快速进行调试操作。 总之,VScode的编译系统为开发者提供了方便、快捷的编译和调试功能,极大地提高了开发效率。无论是小型项目还是复杂的多语言项目,开发者都可以通过VScode的编译系统轻松地完成代码的编译和调试工作。 ### 回答3: VSCode是一种强大的源代码编辑器,支持多种编程语言和平台。虽然VSCode本身不是一个编译器,但它可以通过安装适当的插件来实现编译系统的功能。VSCode的编译系统可以帮助开发者在编辑器中快速编译和运行代码。 VSCode的编译系统通常由两个部分组成:构建任务和调试器。构建任务是指将源代码转换为可执行文件或其他形式的代码的过程。可以使用VSCode提供的内置任务管理器来配置和运行构建任务。通过在.vscode文件夹中的tasks.json文件中指定构建命令和参数,开发者可以定义自己的构建任务。 调试器是另一个重要的组件,它允许开发者在VSCode中调试已编译的代码。VSCode支持各种调试器,包括Python、JavaScript、C++等。通过配置.vscode文件夹中的launch.json文件,开发者可以定义自己的调试器配置。一旦开发者启动调试器,他们就可以设置断点、单步执行代码并监视变量的值。 VSCode还提供了许多有用的扩展和插件,以增强编译系统的功能。例如,C/C++的插件可以通过配置文件(例如c_cpp_properties.json)来帮助识别和配置代码中使用的库和包含文件。此外,通过插件还可以通过在编辑器中显示编译错误和警告来提供实时反馈。 总之,VSCode是一个功能强大的源代码编辑器,可以通过适当的插件和配置来实现编译系统的功能。它提供了构建任务和调试器,还支持各种扩展和插件,可以帮助开发者更轻松地编译和运行代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值