编译器安装在操作系统上
A. 书上说编译器是随着操作系统装在电脑上的,那操作系统也是用某种语言(如C等),那是谁翻译的操作系统的语言呢
现有的操作系统都是在其他操作系统下完成编译的。
最早的操作系统是机器码,然后在那种操作系统上开发出汇编编译器,接下来的操作系统就可以用汇编语言了。后来出来c语言编译器,可以在汇编语言做的操作系统中编译C语言的操作系统,然后在C语言的操作系统中再装相应的编译器,就可以编译其他的了。所以编译器和操作系统都是一步步发展的。
你之前的问题没人回答是因为我没看到。
B. 操作系统和编译器的关系
操作系统是和硬件的桥梁,所有软件如果要运行,就得在装有操作系统的机器上运行。没有安装操作系统的计算机,是不能运行其它软件的,装上了linux,你才能在它上面安装gcc, 你可以用gcc编译各种软件,比如linux版的QQ等,同样你也可以用gcc编译linux系统软件(因为系统软件也是软件),并把编译好的linux软件放到机器上安装。
当然也可以写个编译器在没有操作系统的机器上编译,但这个编译器就要做很多和硬件打交道的事。至少gcc是不行的,要运行在操作系统上的。
C. 苹果电脑上可以装c语言编译器吗
在苹果电脑上可以装c语言编译器,因为Mac系统本质上是一个Unix系统,是一个开放系统,Unix系统的编写语言就是C语,兼容C语言编译器是肯定的了。
目前苹果的操作系统Mac OS X的开发工具为Xcode,支持C和标准C++程序的编写。并且Mac平台有很多支持C语言编程的IDE,像NetBeans和Eclipse。
Mac OS X没有默认安装C语言编译器,你需要安装Xcode,Xcode包含了GCC编译器。
如果你只是用Mac来学习C语言,安装一个Xcode即可。Xcode的安装文件在系统盘的Optional文件夹里。
D. 编译程序安装在计算机的哪里
举例来说:
当你使用C编写代码,使用编译器编译后,即生成了可执行程序。当可执行程序被操作系统的加载器加载到内存、并准备好必要的数据后从代码段开始执行,这时的代码段代码已经是机器码了,无须编译。当然,可执行程序里的所有数据并非都是代码,有些是写给操作系统看的,以使操作系统能为程序的执行做好必要准备。
至于说DOS命令,分为外部命令和内部命令。外部命令和一般的可执行程序没有区别,他以可执行程序文件的形式存在。没有这个文件就不能运行这个命令;内部命令是固化在操作系统中的代码模块,一般以DLL文件的形式存在。至于哪个DLL文件包含特定的内部命令的代码,就必须查资料了。
CPU所支持的指令集,是由CPU的物理设计决定的,并不是说有什么指令存放在CPU上。
当然,如果是解释性的语言。那么,可执行程序是一边被解释(编译)一边被执行的。所以他的速度要慢些。并且必须安装对应的编译(解释)程序。比如JAVA。
E. C语言,在windows系统上装了C语言编译器。
都没有必要,windows 通过 提供一套标准(当然是 windows 标准) api 函数,屏蔽硬件细节,用户不用考虑硬件细节。硬件的驱动程序由生产者依据 windows 标准提供驱动程序,否则, windows 就不接受这个硬件,对于用户来说就无法使用他,当然,作为标准硬件,虽然系统没有安装,windows 任然提供 api,这是调用这些 api 时,会返回特定的错误值告知用户:此硬件不可用。看看 windows 的市场,硬件厂商乖乖的按 windows 标准编写驱动程序。
在 windows 系统中,所有的程序都是通过调用 windows api (当然,可能一些特殊程序还有使用到 ActiveX 等,那么,这样的程序还包括一些 ActiveX api 函数) 实现与系统资源交互的,在Windows上C 语言(等)编译器将程序中的与系统资源交互的代码都编译成 windows api 函数的调用。如 setviewport 函数最终编译后就转换成一些 windows api 函数。
F. 如何在linux操作系统下安装gcc以及查看gcc编译器是否安装好
gcc-3,如果想将GCC 3.html阅读.0.tar.gnu.0、库文件.0,或者用环境变量CC指定系统上的编译器,系统中必须要有cc或者gcc等编译器,并且是可用的.4。
系统上原来的GCC编译器可能是把gcc等命令文件.4://gcc.0.4,可用浏览器打开index;configure --prefix=${destdir} [其它选项]
G. 汇编语言的编译器是运行在什么平台上
机器可以识别的是高低电平,将高低电平用 0,1 来对应表达,就是二进制代码
二进制代码肯定是不便于记忆的,因此,为了便于记忆,将可以执行一项功能的二进制代码段用一个符号来代替,就产生了汇编语言。
那么汇编的过程,就是将这个符号还原成二进制代码的过程。
这个过程,可以由人工来做,由机器来做...
那么,我们的电脑上来完成这个过程的,就是传说中的编译器。
这个汇编的编译器是怎么做成的?是直接用二进制代码0和1写的吗?
编译器本身就是一个可执行程序。
编写这个可程序,和编写通常程序的过程相同,所以随意用什么语言来写。然后再通过编译,生成可执行程序。
那这个二进制的0、1是以什么形式存放的,存放在哪里?
可执行程序是什么形式的,取决于操作系统。
存放形式,取决于存储器的物理性质,可以肯定的是存放在存储器。
如果用我们的电脑,怎么输入这些0、1,让电脑识别?
用我们的电脑,需要通过输入设备来输入,通常为键盘、鼠标...
过去就像楼上说的,也有用纸带、拨码开关或者其他什么的。
----------------------------------------------
其实我就是想弄明白硬件和软件是怎么锲和的,操作系统这个巨大的软件可以直接在电脑硬件上运行,那其他软件为什么一定要在操作系统上才能运行呢?
其他的软件不是一定要在操作系统上才能运行。只是,操作系统使软件的运行不必考虑硬件的差别,也就是说,针对操作系统平台所编写的程序可以适用于该操作系统可以运行的所有硬件平台,而不必针对每一个不同的硬件都编写一个程序。
是不是要调用系统里面的一些库文件啊?如果是,那windows怎么不需要啊?它怎么能只凭自己在安装时所带的那一套各种各样的文件就能在裸机上运行了呢?
WINDOWS本身就是操作系统...
那个,你要实在想明白这个问题,就看看计算机组成原理还有软件工程的相关内容吧。