导航:首页 > 源码编译 > 编译器的难度要远高于操作系统

编译器的难度要远高于操作系统

发布时间:2022-09-21 09:26:14

‘壹’ 操作系统和编译器的关系

操作系统是和硬件的桥梁,所有软件如果要运行,就得在装有操作系统的机器上运行。没有安装操作系统的计算机,是不能运行其它软件的,装上了linux,你才能在它上面安装gcc, 你可以用gcc编译各种软件,比如linux版的QQ等,同样你也可以用gcc编译linux系统软件(因为系统软件也是软件),并把编译好的linux软件放到机器上安装。

当然也可以写个编译器在没有操作系统的机器上编译,但这个编译器就要做很多和硬件打交道的事。至少gcc是不行的,要运行在操作系统上的。

‘贰’ C语言问题 求位前辈 对于操作系统的字长是多少位 和C语言的关系不是很很了解

首先需要知道的是CPU字长(机器字长),这个是硬件决定的,指cpu同时参与运算的二进制位数,机器字长直接决定着机器可寻址的虚拟空间地址大小。常见的机器字长有16位,32位,64位等。
其次是操作系统字长。 操作系统字长就是操作系统的位数,对于电脑操作系统来说,有32位64位两种。操作系统字长是软件的概念,依赖于硬件,但不一定相同。64位机器字长上可以安装32位的操作系统,但是反之则不行。即操作系统字长不可高于机器字长。
C语言的编译器是运行于操作系统之上的软件,所以编译器依赖于操作系统。编译器字长不可高于操作系统。
C语言编译器的字长,影响C语言的编译运行,由C语言编译器编译出的可执行文件的运行字长,不能高于编译器字长。
于是,综合这几个的关系,就是
C语言编译出的软件字长 ≤ C语言编译器字长 ≤ 操作系统字长≤机器字长。

‘叁’ 程序语言,操作系统,编译器三者之间有何关系

汇编语言的编译器很多,像MASM,NASM,TASM,gas等等,编译器不一定用什么语言来写,像pascal最初的时候编译器本身是用汇编和pascal语言写的,但大部分编译器是用C语言来写的.windows向来封闭,不知道是用什么写的,应该是用C吧。C是一种编程语言,windows是一种操作系统,二者没有直接关系。C的各个版本的不同在编译器对C语言的扩充和处理上,而不在操作系统上,同样是在windows平台上,TC和VC就不一样。
这三者的关系,程序语言可以用来写操作系统和编译器,操作系统用来编译器运行,编译器用来编译程序语言,编出来的东西可以是操作系统和编译器。

‘肆’ 做编译器或操作系统哪个更有趣味

其实两者没什么区别。如果你对硬件结构、硬件语言更感兴趣,可以选择做编译器。如果你对人机交互、面向对象编程感兴趣,可以选择做操作系统。
但如果深入研究,编译器需要向人机交互发展,操作系统需要更了解底层硬件。

‘伍’ 仅仅从好玩程度考虑,做编译器或操作系统哪个更有趣味

是先有编译器,然后再有的操作系统。
事例:

1949年,某大学开发了一款(电子延迟存储自动计算机)第一个存储程序的计算机。是第一台采用冯·诺依曼体系结构的计算机。后来跟着它又出现了一款汇编器名字叫初始命令

1956年,出现了一款汇编器名字叫联合航空符号汇编程序和公式翻译程序语言。

1973年,出现了一款操作系统名字叫控制\监控程序。(第一个基于英特尔处理器的操作系统,其实就是最早的操作系统,其他网络站点上有详细介绍)

电子延迟存储自动计算机 EDSAC
初始命令 initial orders
联合航空符号汇编程序 uasap-1
公式翻译程序语言 Fortran
控制\监控程序 CP/M

还有,“查雨桃”说的不太妥,其实两者都是系统软件,都有几率用机器语言编写;
不过事实是由打孔的纸袋(机器语言)然后发展为上述然后发展出了高级语言公式翻译程序。

‘陆’ 编译器和解释器的主要区别是什么他们相对于对方各自的优点

解释器是解释执行的源代码,编译器是将源代码编译成目标代码

他们最大的区别是程序运行时需要解释器边解释边执行,而编译器则在运行时是完全不需要的

解释器的优点是比较容易让用户实现自己跨平台的代码,比如javaphp等,同一套代码可以在几乎所有的操作系统上执行,而无需根据操作系统做修改;
编译器的目的就是生成目标代码再由连接器生成可执行的机器码,这样的话需要根据不同的操作系统编制代码,虽然有像Qt这样的源代码级跨平台的编程工具库,但在不同的平台上仍然需要重新编译连接成可执行文件,但其执行效率要远远高于解释运行的程序。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

‘柒’ 编译器和解释器的主要区别是什么他们相对于对方各自的优点

解释器

解释执行
的源代码,
编译器
是将源代码编译成
目标代码
他们最大的区别是程序运行时需要解释器边解释边执行,而编译器则在运行时是完全不需要的
解释器的优点是比较容易让用户实现自己跨平台的代码,比如java,php等,同一套代码可以在
几乎所有的
操作系统上执行,而无需根据操作系统做修改;
编译器的目的就是生成目标代码再由连接器生成可执行的
机器码
,这样的话需要根据不同的操作系统编制代码,虽然有像Qt这样的源代码级跨平台的编程工具库,但在不同的平台上仍然需要重新编译连接成可执行文件,但其执行效率要远远高于解释运行的程序。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

‘捌’ 程序语言,操作系统,编译器三者之间有何关系

可以理解为程序语言需要在编译器里面进行编译,但是编辑器需要运行在操作系统里
编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的
简单讲,编译器就是将"一种语言(通常为高级语言)"翻译为"另一种语言(通常为低级语言)"的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少数操作系统,大部分操作系统都为类Unix操作系统。

‘玖’ 编译器和数据库以及操作系统称做系统软件 三者有何共性。

编译器是将用户所设计的各种编程语言的编译连接生成为机器可运行的可执行代码的工具。编译器是操作系统提供用户接口的体现。

数据库可以看作是数据的储存方式,未来的操作系统就是一个数据库。

操作系统是连接硬件和软件的桥梁。

‘拾’ 操作系统内核和编译器哪个难度更大

二者都属于系统级的软件,难度相当,但还要看操作系统是否开源,如果没有开源,那难度就不是提升一点点了。

阅读全文

与编译器的难度要远高于操作系统相关的资料

热点内容
美团的服务器是什么 浏览:357
axure原型设计精髓pdf 浏览:376
svox文件夹有用吗 浏览:506
怎样才可以给软件添加密钥 浏览:587
光纤通信原理pdf 浏览:207
c需要用什么编译器 浏览:702
python设置断点调试 浏览:313
pc手柄怎么连接安卓 浏览:33
dll解压不成功 浏览:343
连接地址服务器失败是什么 浏览:399
台达dvp14ss2编程电缆 浏览:133
单片机开发板设置技巧 浏览:343
阿里云服务器怎么配置git 浏览:414
androidcameraid 浏览:430
活塞式空气压缩机原理 浏览:791
vt编辑编制编译 浏览:807
抖音优质创作者推荐程序员 浏览:75
摄像机多控神器让拍摄轻松解压 浏览:422
杭州的服务器地址 浏览:277
全医药学大词典pdf 浏览:809