❶ 请问C#是编译型语言还是解释型语言
C#是解释型语言,不是编译型语言。
只要不是"直接编译成机器指令并直接运行机器指令执行档"的编译语言,就属于解释语言。
java,C#、VB.net等的源码先编译成字节码,再由虚拟机“解释”执行字节码。
也属于解释语言,JIT即时编译的语言也属于解释语言。
现在虚拟机逐渐多样化,机器指令的硬件相关性逐渐淡化。所以编译语言和解释语言的概念越来越少被提到了。
Most so-called interpreted languages use an intermediate representation, which combines compiling and interpreting. In this case, a compiler may output some form of bytecode or threaded code, which is then executed by a bytecode interpreter.
大多数所谓的解释型语言都采用某种结合编译和解释的中间形态。以编译器输出某种字节码或线程码,然后由字节码解释器执行。 ---维基网络-解释型语言条
❷ C语言是编译性语言还是解释性语言
C语言是编译性语言
❸ 解释型语言和编译型语言的区别是什么
一、编译型
编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe。因为翻译只做一遍,以后都不需要翻译,所以执行效率高。
编译型语言的典型代表:C语言,C++。
编译型语言的优缺点:执行效率高,缺点是跨平台能力弱,不便调试。
二、解释型
解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。执行时才翻译执行。程序每执行一次就要翻译一遍。
代表语言:python,JavaScript。
优缺点:跨平台能力强,易于调,执行速度慢。
编译型与解释型,两者各有利弊
前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言。
而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。
❹ c语言是编译型语言吗
当然!
c程序,编译后才能运行
❺ C/C++,Java,Python谁是编译型语言,谁是解释型语言
总的来说,如今编译型语言、解释性语言的分界线不再那么明显,应该避免把语言简单归类为“编译型”和“解释型”。
我们最开始说C/C++是编译型语言,原因是相对于Ruby这样的解释性语言,C/C++需要通过编译器,把源代码编译成中间文件(.o和.obj),然后通过连接器和汇编器生成机器码,即一系列基本操作序列,可以直接让计算机执行。这些机器码也就是我们通常的exe文件。
我们以Ruby为例谈一下解释型的语言,程序从源代码到被计算机执行,也要经历上述步骤。不同的地方在于,C/C++会把那些从源代码“变”来的机器码(即exe文件)保存起来,而Ruby直接将这些生成的基本操作序列(Ruby虚拟机)指令丢给Ruby虚拟机执行然后产生动作了。这就是我们所说的解释型语言。
所以我们看到的现象是,编译型语言要先编译再运行,而解释性语言直接“运行”源代码。
回到最开始的问题,如果以是“否保存机器码为exe文件”为区分,那么Java和Python都属于解释型语言。
但具体来讲,Java和Python是有很大不同的。Java代码从源程序到执行,要经过的过程是:编译器(javac)把源代码转化为字节码,然后解释器(Java.exe)把字节码转换为计算机理解的机器码来执行,其过程中没有把“机器码保存为exe”的行为(这样讲也不完全准确,下面会讲到)。其中编译器和解释器都是Java虚拟机(JVM)的一部分,由于针对不同的硬件与OS,Java解释器有所不同,因此可以实现“一次编译、到处执行”。所以JVM是Java跨平台特性的关键所在。
Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域
对于Python,其源代码到执行也要经过如下过程:源代码--->字节码--->机器码。跟Java相同的是,其过程中也没有把“机器码保存为exe”的行为。与Java不同的是,Python使用的虚拟机是基于其他语言实现的,比如我们一般使用的Python实际为Cpython,也就是其虚拟机由C实现,这个虚拟机负责把Python源码编译为字节码,再解释执行。另外,还有Jypython、Ironpython等。
❻ 编译型语言有哪些呢
编译型语言有C、C++、Objective-C、Swift、Kotlin等高级语言。需要将源代码编译成机器码,再由机器运行机器码。只需编译一次,运行速度快,执行效率高。
编译型语言和解释型语言区别在于:
编译型语言,通常都会对源代码进行编译,生成可以执行的二进制代码,执行的是编译后的结果。
解释型语言,通常不用对源代码进行编译,一般是通过解释器载入脚本后运行。由于每个语句都是执行的时候才进行解释翻译,这样解释性语言每次执行就要翻译一次,效率相对要低。至于难度,个人感觉java相对要更复杂些。
❼ c语言是解释型语言吗
编程语言分为两大类:1-编译型语言;2-解释型语言。之前我们讲解过编译型语言。现在就来讲讲解释型语言
同学们可以继续与翻译进行类别,来理解“解释型语言”。之前说过,编译型语言是雇一个翻译,将你写的中文信全篇翻译成英文,然后交给美国总统阅读。而解释型语言则不同,更像是“同声传译”。
也就是说,解释型语言使用一个翻译站在你身边,你写出一句中文,它就直接翻译成英文给对方阅读。实际上,这个“翻译”是一种虚拟机。所谓虚拟机,也是一种程序,它帮你随时将编写的源代码翻译成计算机可以理解的机器语言,让计算机执行命令。而不需要产生中间的机器码文件。比如,“BASIC”语言就是一种解释型语言。
比如,你使用BASIC语言,想在屏幕上显示文本“Hello”。那么你可以先编写源代码文件,比如叫“hello.bas”,然后你可以直接将hello.bas文件送入虚拟机程序。然后虚拟机会直接帮你运行hello.bas(直接逐行解释你的源代码文件)。
解释型语言最大的特点就是不创建中间文件。
解释型语言的优点
对于不同的系统适应性较好,同样的源代码,可以直接运行在不同的系统(当然,前提是在不同系统上安装好相应的虚拟机)。
解释型语言的缺点
逐行解释会导致程序运行速度不如编译型语言快。可以想象下,你讲中文时,说一句中文翻译翻译一句(解释型语言)的速度,显然比先把演讲稿翻译成全英文稿(编译型语言)要慢很多。
解释型语言举例
属于解释型语言的有如下几种:
Perl
JavaScript
VBScript
AppleScript