编译器和操作系统有关系吗
‘壹’ 书上说编译器是随着操作系统装在电脑上的,那操作系统也是用某种语言(如C等),那是谁翻译的操作系统的语言呢
现有的操作系统都是在其他操作系统下完成编译的。
最早的操作系统是机器码,然后在那种操作系统上开发出汇编编译器,接下来的操作系统就可以用汇编语言了。后来出来c语言编译器,可以在汇编语言做的操作系统中编译C语言的操作系统,然后在C语言的操作系统中再装相应的编译器,就可以编译其他的了。所以编译器和操作系统都是一步步发展的。
你之前的问题没人回答是因为我没看到。
‘贰’ 如果操作系统是C语言开发的,那么C编译器运行在什么上呢
操作系统是c开发的,跟c编译器运行在机器上,这两个问题一点关系都没有。
在没有c编译器之前的那个时代,当然只能用汇编写操作系统了,但是后来用汇编开发了c编译器,就可以用c写操作系统了,用c写了操作系统,经过c编译器编译之后得到的就是机器代码(可以认为是汇编),c编译器只是一个工具,反正你给机器代码给cpu执行就行了,没有任何问题呵呵
这就好比如在原始社会人类只能用手挖东西,挖了铁以后就可以用铁做出铁器来挖东西,就是这么发展。
c语言又可以用来开发更高级的编译器,更高级的编译器又可以拿来开发操作系统了,只要你喜欢。
不同的是汇编直接写的执行效率比较高,高级语言写的执行效率比较低,但是高级语言开发的时间比较短,提高工作效率
‘叁’ 计算机语言和操作系统的关系是怎样的编译器又和操作系统的关系是怎样的
操作系统是由计算机语言编译而成,主要是由C语言编写,象linux操作系统。反过来,操作系统又支持计算机语言编写的源程序的运行。
编译器和操作系统在几年之前被划分为系统软件,近几年,重新划分之后,操作系统属于系统软件,编译器属于支撑软件http://www.chmhome.com/knowledge/soft/20070624/57582.html
操作系统为编译器提供环境,二者相辅相承,源代码通过编译器编译,又丰富了操作系统的功能
自己的理解,可能有点乱。
‘肆’ 编译器和数据库以及操作系统称做系统软件 三者有何共性。
编译器是将用户所设计的各种编程语言的编译连接生成为机器可运行的可执行代码的工具。编译器是操作系统提供用户接口的体现。
数据库可以看作是数据的储存方式,未来的操作系统就是一个数据库。
操作系统是连接硬件和软件的桥梁。
‘伍’ 先有编译器 还是 先有操作系统 那个最早出来
是先有编译器,然后再有的操作系统。
事例:
1949年,某大学开发了一款(电子延迟存储自动计算机)第一个存储程序的计算机。是第一台采用冯·诺依曼体系结构的计算机。后来跟着它又出现了一款汇编器名字叫初始命令。
1956年,出现了一款汇编器名字叫联合航空符号汇编程序和公式翻译程序语言。
1973年,出现了一款操作系统名字叫控制\监控程序。(第一个基于英特尔处理器的操作系统,其实就是最早的操作系统,其他网络站点上有详细介绍)
电子延迟存储自动计算机 EDSAC
初始命令 initial orders
联合航空符号汇编程序 uasap-1
公式翻译程序语言 Fortran
控制\监控程序 CP/M
还有,“查雨桃”说的不太妥,其实两者都是系统软件,都有几率用机器语言编写;
不过事实是由打孔的纸袋(机器语言)然后发展为上述然后发展出了高级语言公式翻译程序。
‘陆’ 操作系统和编译器的关系
操作系统是和硬件的桥梁,所有软件如果要运行,就得在装有操作系统的机器上运行。没有安装操作系统的计算机,是不能运行其它软件的,装上了linux,你才能在它上面安装gcc, 你可以用gcc编译各种软件,比如linux版的QQ等,同样你也可以用gcc编译linux系统软件(因为系统软件也是软件),并把编译好的linux软件放到机器上安装。
当然也可以写个编译器在没有操作系统的机器上编译,但这个编译器就要做很多和硬件打交道的事。至少gcc是不行的,要运行在操作系统上的。
‘柒’ 操作系统都自带编译器吗如Windows
不一定。例如:Windows 操作系统就是不自带编译器的,它是一个独立的操作系统,如果你需要编程的话,你还需要单独购买 MS Visual C++编译器,然后在安装好 Windows系统的前提下面,再安装运行 MS VC++,此时 VC++才能够对你编写的 C 语言源程序进行编译、连接,最后产生可执行程序;而Linux则不同,它是自带编译器 gcc 的,所以你在安装 Linux系统时,只要把 gcc 选上,就可以把 gcc 编译器连同 Linux 操作系统一起安装好。就不需要单独购买 gcc 编译器软件了。
‘捌’ 如果操作系统是C语言开发的,那么C编译器运行在什么上呢
C编译器可以理解为开发工具,按照你说的,操作系统是C语言开发的,那用什么开发它呢,用的就是C编译器吧(不止编译器,编译器只是很少的一部分,这里用它代替开发环境),C编译器要装在电脑的操作系统上吧,然后你在装有编译器的操作系统下完成了另一个操作系统的开发,然后将你完成的这个操作系统安装在另一台机器上,然后你的C开发的操作系统就运行了。所以说,C编译器是运行在需要开发C程序的操作系统下的,这里你可以把你用C语言开发的操作系统认为是一个C程序。你在开发C程序而已,那这样你就该知道你的C编译器运行在什么上面了吧。
‘玖’ 电脑自带编译器么还是安装操作系统是会带有自动安装编译器
不是所有的系统都带. 很多linux都会带gcc, 以前的DOS和win98带qbasic,
现在的Windows基本没有带编译器,但是带有一些脚本解释器,包括javascript, vbscript
Windows vista带powershell解释器。
,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。