如果操作系统是C语言开发的,那么C编译器运行在什么上呢?

谁呢跟我说的详细些呢,一直搞不明白。... 谁呢跟我说的详细些呢,一直搞不明白。 展开
 我来答
zhangqingxian
2013-02-22 · TA获得超过268个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:308万
展开全部
操作系统是c开发的,跟c编译器运行在机器上,这两个问题一点关系都没有。
在没有c编译器之前的那个时代,当然只能用汇编写操作系统了,但是后来用汇编开发了c编译器,就可以用c写操作系统了,用c写了操作系统,经过c编译器编译之后得到的就是机器代码(可以认为是汇编),c编译器只是一个工具,反正你给机器代码给cpu执行就行了,没有任何问题呵呵

这就好比如在原始社会人类只能用手挖东西,挖了铁以后就可以用铁做出铁器来挖东西,就是这么发展。
c语言又可以用来开发更高级的编译器,更高级的编译器又可以拿来开发操作系统了,只要你喜欢。
不同的是汇编直接写的执行效率比较高,高级语言写的执行效率比较低,但是高级语言开发的时间比较短,提高工作效率
老马100861
推荐于2016-07-12 · 知道合伙人软件行家
老马100861
知道合伙人软件行家
采纳数:59 获赞数:4347
洛阳理工学院在校本科生

向TA提问 私信TA
展开全部
  1. 操作系统。

  2. C编译器是运行在需要开发C程序的操作系统下的,这里你可以把你用C语言开发的操作系统认为是一个C程序。

  3. C编译器要装在电脑的操作系统上,然后你在装有编译器的操作系统下完成了另一个操作系统的开发,然后将你完成的这个操作系统安装在另一台机器上,然后你的C开发的操作系统就运行了。

  4. C编译器可以理解为开发工具,操作系统是C语言开发的,用的不止编译器,编译器只是很少的一部分,这里用它代替开发环境。

  5. 计算机是一台机器,不一定非要操作系统,只要是机器码装入内存,都可以执行。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-02-21
展开全部
首先操作系统不是完全由C开发的,至少bootloader部分还是汇编做的
然后不是所有操作系统都是用C开发的,最早的UNIX,CP/M开发的时候C语言都还没出现呢
C开发的操作系统一般是用另一个系统上的编译器进行交叉编译生成二进制文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我姐是恐龙
2013-02-21 · TA获得超过542个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:197万
展开全部
系统是用c语言开发的 但是不是完全用c开发的
先用汇编语言启动机器 进入保护模式 等一大堆破事
因为汇编指令(伪指令除外)不需要编译器 cpu能直接用啊
而c编译器也是运行在这个基础之上
最初代的c语言编译器 都是汇编写的
然后才是c语言写各种逻辑结构
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-07-30
展开全部
C编译器可以理解为开发工具,按照你说的,操作系统是C语言开发的,那用什么开发它呢,用的就是C编译器吧(不止编译器,编译器只是很少的一部分,这里用它代替开发环境),C编译器要装在电脑的操作系统上吧,然后你在装有编译器的操作系统下完成了另一个操作系统的开发,然后将你完成的这个操作系统安装在另一台机器上,然后你的C开发的操作系统就运行了。所以说,C编译器是运行在需要开发C程序的操作系统下的,这里你可以把你用C语言开发的操作系统认为是一个C程序。你在开发C程序而已,那这样你就该知道你的C编译器运行在什么上面了吧。
追问
没有操作系统之前,电脑都还只是一堆硬件的时候,怎么开发操作系统呢?
用汇编吗,那汇编编译器又是运行在什么上的?
追答
要搞清楚,汇编跟C只是语言种类不同,而且汇编是靠底层的,从宏观上讲,只要是编程语言,其本质是一样的。都是最终生成机器码,有CPU执行。谁告诉你没有操作系统之前是用汇编开发操作系统的哇?计算机是一台机器,不一定非要操作系统啊,只要是机器码装入内存,都可以执行。还有,用汇编语言编写代码,不一定非用汇编编译器这一种方法啊。条条大路通罗马,只要生产机器码就行了,别的不用多考虑。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式