导航:首页 > 源码编译 > 为什么写好的程序需要软件去编译

为什么写好的程序需要软件去编译

发布时间:2023-04-16 10:15:04

‘壹’ 运行java程序时,为什么要先编译再运行,编译运行一起进行不行吗

java讲究的是 一次编译 处处运行,也就是提高了程序的一致性。java的程序之所在不同的操作系统上的运行结果是一样的,是因为java虚拟机。

所以要运行java都要装一个叫jdk的东西,里面有java的虚拟机。这个虚拟机就是来解释我们写的代码。通过这个虚拟机,就实现了代码的移植。

我们写好的程序,通过虚拟机,编译成class文件,然后在运行。但是我们只需要编译一次即可。

‘贰’ 为什么要编译

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

‘叁’ 为什么高级程序语言需要编译程序

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

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

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

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

‘肆’ c程序写好要编译和综合是啥意思

书写出来的是源程序,也就是.c和.h文件。 肉眼可读。
最终运行的是可执行文件,也就是二进制文件。 windows上是.exe文件。
从源文件到可执行文件要经过编译和链接,你说的综合应该就是链接。
编译是每个.c文件编译成对应的目标文件(.o, .obj, .tco这类的,不同工具扩展名有所不同)
链接是把这些目标文件整合成可执行文件。

‘伍’ 编写的程序一定要有编译器才能运行吗

不用,编译器只是有负责将编译语言翻译为机器语言的作用,编译后的程序就是机器语言了。可以直接在计算机上运行

‘陆’ 为什么c/c++开源库使用前需要编译

这样可以运行,但有两个问题:

  1. 每个新程序要使用开源库中的api,都需要重新编译部分甚至整个开源库源代码,这会浪费大量的时间;

  2. 如果有多个程序同时使用同一个库,每个程序都将生成一份这个库的二进制文件,这会浪费大量的磁盘空间;当这些程序同时运行时,每个程序的内存中都会装载一份库的二进制代码,这会浪费大量的内存空间。

因此,直接将第三方库的源代码包含到当前程序的代码中编译是效率非常低下的方式,实际中除非极特殊情况,不会考虑使用这种方式,而是将开源库源代码编译成二进制的动态链接库,其他程序要使用其中的API时,只需要指定动态链接库的入口点,程序运行时加载动态链接库 并找到其中的函数入口点就可以调用开源库API。并且,当有多个程序调用此动态链接库时,只会占用一份内存空间。

‘柒’ 为什么每次运行程序之前,VS都要先编译的解决方法

这是因为程序运行过快的原因,程序运行结果就会显示后立即消失。解决方法:加一个输入函数。

‘捌’ 想要编程就必须要有编程软件

一、如其他回答者所言,如果是用脚本语言写代码,确实不需要专业的编程软件,比如:
用Windows8/8.1/10自带的PowerShell 2.0编写程序,或用记事本写好后更改文件名后缀;
用Windows自带的cmd终端编写批处理文件(.bat),或用记事本写好后将文件名后缀.txt改为cmd;
用Windows自带的记事本编写Html(即网页脚本语言),写好后将文件名后缀.txt改为htm或html,用浏览器就能看到代码执行的结果;
二、即使是编程软件,也有代码编辑器和编译器之分,比如:
上面所讲的脚本语言,虽然常被视为编程,但和编程语言不同。编程语言的编程软件分编辑器与编译器。编辑器的功能与记事本类似,可以与word文档类比;编译器能编译并执行程序代码。编辑器有sublime text,notepad++,Visual Studio Code等,一般而言能写众多编程语言(功能上:提供代码关键字高亮乃至简单debug)。
所以,如果你要写程序并看到代码被执行的状况,请安装带编译器的编程软件(编辑器也能挂编译器),比如C/C++语言的Dev-C++(自带GCC编译器)、Python语言的Python3或Python2,Java语言的eclipse,Visual Basic 的Visual Basic 6.0等。相信大多数初学者需要的就是带编译器的编程软件。
那编辑器用来干啥?写代码但不需要执行。编程有个目标是编译导出exe、dll等目标文件,这跟如.c、.cpp后缀的代码源文件不一样。而编译器能够弄出exe这些程序。
有了编译器,你就能够根据代码执行的情况进行修改、调试debug。
三、编译器是编程软件的内核,一种编程软件可以挂多种编译器,比如可以写C语言的codeblocks能挂VC++的编译器、GCC编译器等等。

‘玖’ 为什么要对源程序进行编译处理

要不计算机不知道你写的是什么,计算机只认识二进制,而源程序是给编程人员看的。所以你要想让计算机认识你写的是什么,就必须进行编译处理。

‘拾’ 为什么程序的代码只能经过编译器编译后才能直接运行在计算机上

因为程序代码是面对人的,可以让人理解让人读懂,但是当我们交给计算机这个“机器”的时候,就需要把工作翻译成计算机能读懂的语言,就是二进制的001000101这样的信息。这样计算机才能按照我们的指令去做

阅读全文

与为什么写好的程序需要软件去编译相关的资料

热点内容
linux使用静态库编译过程 浏览:101
android平滑滚动效果 浏览:841
什么是编译器指令 浏览:219
微控制器逻辑命令使用什么总线 浏览:885
程序员在学校里是学什么的 浏览:601
oraclejava数据类型 浏览:890
程序员考注册会计师 浏览:957
怎么使用access的命令按钮 浏览:899
有点钱app在哪里下载 浏览:832
博途v15解压后无法安装 浏览:205
什么是根服务器主机 浏览:438
安卓手游怎么申请退款 浏览:555
安卓系统如何分享网页 浏览:278
ad如何编译pcb工程 浏览:414
除了滴滴app哪里还能用滴滴 浏览:399
截图怎么保存文件夹然后压缩 浏览:8
幻影服务器怎么样 浏览:28
具体哪些广东公司招程序员 浏览:872
嵌入式编译器教程 浏览:307
ssl数据加密传输 浏览:88