导航:首页 > 源码编译 > 为什么要对源程序进行编译

为什么要对源程序进行编译

发布时间:2022-12-26 07:48:29

① 为什么高级程序语言需要编译程序

计算机语言是人与计算机之间交流的媒介,其种类非常多,但大体上分为机器语言、汇编语言、高级语言三大类。

计算机不能直接理解高级语言,只能直接理解机器语言,因此必须将高级语言翻译成机器语言,翻译的过程分为两种,一种是解释,一种是编译。两种方式的区别在于翻译的时间,编译是在程序运行之前,需要一个专门的过程,将程序编译成为机器语言的文件,比如EXE文件,以后要运行的话就不用再重新编译了,直接使用之前的编译结果就行了,因为只翻译一次,运行时不需要再翻译,所以编译型语言的程序执行效率高。

解释性语言则不同,解释性语言不需要编译,其程序在运行时才翻译,每个语句都是执行时才翻译。这样解释性语言每执行一次就要翻译一次,其执行效率则相对较低。

另外,编译型语言以二进制形式保存,源代码不可见;解释性语言以代码形式保存。

② 请问“源程序的编译”与“源程序的解释”的基本概念是什么如题 谢谢了

源程序的编译是指对于程序源代码的编译过程,由编译器完成,适用于编译语言,编译的过程会生成相应的程序的机器码。 源程序的解释是指对于程序源代码的解释的过程,由解释器完成,适用于解释语言。 解释语言和编译语言的区别在于解释语言编写的程序在每次运行时都需要通过解释器对程序进行动态解释和执行;解释语言编写的程序有时被称为脚本,一般是读者可以直接阅读的代码。解释器通过读取脚本,对它解释,然后执行脚本中的命令。 例如:我们通常使用的DOS命令行命令执行环境本身就是一个解释器。读入键入:“dir”命令并回车,解释器接收并翻译这条命令,然后进行系统调用来完成命令的运行,并把结果显示出来。相应的.bat批处理文件可以说就是一种脚本。 编译语言需要通过编译器,将所编写的程序翻译成计算机的机器语言。完成编译后的程序无需其他程序,自己可独立运行。因为编译后的程序是由机器语言指令构成的,所以通常它的运行速度很快。但是使用不同硬件平台的计算机,它们的机器语言也是截然不同的,这同样使得编译过的程序不能顺利地从一个计算机平台往另外一个平台上移植。所以,在不同的平台之间,往往需要重新编译甚至重写程序。解释性程序没有这个限制。一般情况下,只要有相应版本的语言解释器,脚本程序就可以几乎不做任何修改地移植到其他平台上去。

③ 为什么要对C源程序进行编译、链接

首先要说的是C语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。接着链接目标文件,生成可以执行文件。。。大概就是这样。。详细的LZ可看这个总结。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html

④ 调试时,对C语言源程序进行编译的目的是什么

建议看看编译原理。
我们的PC机,只能认识机器码,不认识C语言的。编译,就是让C语言变得让机器认识。
编译过程,一般是:
C语言-->汇编语言-->2进制文件。
2进制文件由操作系统装载,并调度运行。

⑤ 编译程序的作用是

编译程序指将某一种程序设计语言写的程序翻译成等价的另一种语言的程序的程序, 称之为编译程序

编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。

它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。

编译程序的实现算法较为复杂,这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系,同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。

由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。

(5)为什么要对源程序进行编译扩展阅读:

编译流程分为了四个步骤:

1.预处理,生成预编译文件(.文件)

2.编译,生成汇编代码(.s文件)

3.汇编,生成目标文件(.o文件)

4.链接,生成可执行文件

⑥ 为什么要编译

在汇编语言之后,上世纪50年代,科学家有发明了好几种用人类语言书写程序的方法,被称为计算机高级语言。如PASCAL语言、BASIC语言、C语言等。高级语言源程序都可以用记事本(Notepad)打开和编辑。高级语言源程序也要经过翻译才能被计算机接受。把高级语言翻译成机器语言的方法大体有两种,一种被称作“解释”,如GWBASIC、BASIC、QBASIC等语言,这种方式下,源程序被翻译出一个完整的操作步骤,计算机就作出相应反应,执行一步,再翻译再执行,逐步达到源程序制定目标。另一种方式被称作“编译”,如PASCAL语言和C语言等,这种方式下,计算机把源程序全部翻译成它自身能读懂的、被称作目标程序的机器语言程序,然后再一次执行。二者的区别在于编译程序能产生目标程序而解释程序则不能产生目标程序。用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过编译和连接。同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序。计算机不能直接执行符号化的程序,而是通过汇编程序、解释程序和编译程序而将符号程序转换为可执行程序。高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行。

⑦ 为什么需要汇编程序,编译程序或解释程序

编译程序是必须的,用户用高级语言或汇编语言编写的程序,计算机是不能执行的,必须要由编译程序翻译成机器码程序,计算机才能识别和执行。否则,人们写的各种程序都是无用的。
汇编程序并不是必须的,只是有些场合要用汇编语言写程序,或部分人还用汇编语言写程序,再由汇编程序(其实也是编译程序)来翻译。但现在,可以不用汇编语言写程序了。
至于解释程序,现在几乎不用了。这是在早期的计算机上,用高级语言写的程序,并不用编译成机器码,而是可以直接运行高级语言程序,然后由解释程序逐条进行翻译,一边翻译一边执行。这样的执行程度是很慢的。

⑧ 为什么要对C源程序进行编译、链接

首先要说的是C语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。

一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。

接着链接目标文件,生成可以执行文件。。。

大概就是这样。。详细的LZ可看这个总结。。

http://bbs.zdnet.com.cn/thread-1614727-1-1.html

java源代码为什么要编译

程序设计高级语言的原理都是相似的。JAVA,C,C++,等都类似。
说一下JAVA的:
我们先把自然语言,也就是我们平时的话写成程序设计高级语言,这是编程。
然后再通过编译器生成class也就是字节码文件,这个过程是编译。此时的class文件我们也可以称之为二进制码,就是计算机可识别的0,1文件了。而编译是计算机内部运行,不需要编程者操作。
.java是以源文件形式存在,是编译器和我们都可识别的语言。
编译器识别了.java文件后生成.class文件,是编译器和计算机可识别的语言。
然后计算机会使同名的.java和.class文件关联,计算机自己有两次翻译过程,而这个过程操作者并不需要操心。之后我们就可以运行.java文件了。

⑩ java源代码为什么要编译

你现在电脑里的文件是文档文件确切的说在计算机里也是0和1的序列 但是他和执行程序不是一

个类型的文件 文件是由类型的比如说mp3 是播放声音的 MP4是播放视屏的 TXT是文档文件

就是存储文档的 在回到问题

.java文件其实就和TXT文件一样是文档文件是用来存储你写的代码的

他是拿来给你人看的

你要想让他变成其可执行程序的文件你就得通过编译器编译它

编译器是按照你写的代码把他们翻译成可执行文件的编码方式

然后你就可以运行它了

在计算机看来所有的文件都是0和1的组合 应为文件的类型的不同它会用不同的方式解读它们

具体的java程序。编译。运行等等环节怎么完成怎么解释 你得慢慢了解 或者有时间我在给你解释解释

写的比较乱 你凑合着看吧

阅读全文

与为什么要对源程序进行编译相关的资料

热点内容
王者荣耀解压玩具抽奖 浏览:45
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751
华为删除交换机配置命令 浏览:473
shell打包命令 浏览:827
加密狗插上输不了密码 浏览:187
大学单片机相关科目 浏览:23
自己建了服务器地址 浏览:698