编译器与操作系统
A. 电脑自带编译器么还是安装操作系统是会带有自动安装编译器
不是所有的系统都带. 很多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)。
B. 操作系统和编译器的关系
操作系统是和硬件的桥梁,所有软件如果要运行,就得在装有操作系统的机器上运行。没有安装操作系统的计算机,是不能运行其它软件的,装上了linux,你才能在它上面安装gcc, 你可以用gcc编译各种软件,比如linux版的QQ等,同样你也可以用gcc编译linux系统软件(因为系统软件也是软件),并把编译好的linux软件放到机器上安装。
当然也可以写个编译器在没有操作系统的机器上编译,但这个编译器就要做很多和硬件打交道的事。至少gcc是不行的,要运行在操作系统上的。
C. 先有编译器 还是 先有操作系统 那个最早出来
是先有编译器,然后再有的操作系统。
事例:
1949年,某大学开发了一款(电子延迟存储自动计算机)第一个存储程序的计算机。是第一台采用冯·诺依曼体系结构的计算机。后来跟着它又出现了一款汇编器名字叫初始命令。
1956年,出现了一款汇编器名字叫联合航空符号汇编程序和公式翻译程序语言。
1973年,出现了一款操作系统名字叫控制\监控程序。(第一个基于英特尔处理器的操作系统,其实就是最早的操作系统,其他网络站点上有详细介绍)
电子延迟存储自动计算机 EDSAC
初始命令 initial orders
联合航空符号汇编程序 uasap-1
公式翻译程序语言 Fortran
控制\监控程序 CP/M
还有,“查雨桃”说的不太妥,其实两者都是系统软件,都有几率用机器语言编写;
不过事实是由打孔的纸袋(机器语言)然后发展为上述然后发展出了高级语言公式翻译程序。
D. 学习编译原理和操作系统对编程能力有什么作用
学习编译原理和操作系统对编程能力对编程能力的作用在于:
1、学好了编译原理,才可能编写出高效,稳健,占用内存少的程序。
2、学习操作系统对windows相关的编程很有帮助。如果是对操作系统关系不大的C/C++/c#,java之类的编程,关系不大。
编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
E. 到底是先有编译器还是先有操作系统
1946年,第一台真正意义上的数字电子计算机ENIAC诞生。
1952年,Grace Murry Hopper女士发布世界上第一套高级语言编译器A-0,可以在Sperry机器上将英文、法文和德文编译成机器语言(原来最早的高级语言是它们,呵呵)。1956年,她做出程序语言FLOW-MATIC。她对计算机界有很多贡献,如bug这个词就是她发明的。她最喜欢的一句名言是:A ship in port is safe, but that is not what ships are built for.
同样是在1956年,IBM公司推出科学704计算机。IBM/704大型机配备了世界上最早的操作系统。
1957年,第一个被广泛使用的高级语言——FORTRAN诞生。
1964年,IBM/360系列完成,它配备的OS/360是早期操作系统的代表。