3个回答
展开全部
谁告诉你C能写操作系统的?最早的操作系统都是拿汇编或者机器指令写的。
后来Unix上实现C之后才又拿C重写了Unix系统,但也不是纯拿C写的,多少都会嵌入些汇编。
还有硬编码的呢,就是直接嵌入机器指令的。
很多底层功能是高级语言无法做到的,比方说我要锁总线你拿C就没法儿写了,而这在实现操作系统互斥锁是经常要用到的;再比方说我要写某个特定的寄存器(比如i386的GDTR/LDTR寄存器),就更没法用C写了,而这在切换进程地址空间的时候是一定要用的。
之所以大部分的操作系统代码可以拿C写也只是C更接近汇编,然后像gcc等编译器在ANSI C的基础上对它进行了扩展使得它可以嵌入汇编指令,这才使得它们更适合用来编写操作系统的。只用标准C是写不出操作系统的。
后来Unix上实现C之后才又拿C重写了Unix系统,但也不是纯拿C写的,多少都会嵌入些汇编。
还有硬编码的呢,就是直接嵌入机器指令的。
很多底层功能是高级语言无法做到的,比方说我要锁总线你拿C就没法儿写了,而这在实现操作系统互斥锁是经常要用到的;再比方说我要写某个特定的寄存器(比如i386的GDTR/LDTR寄存器),就更没法用C写了,而这在切换进程地址空间的时候是一定要用的。
之所以大部分的操作系统代码可以拿C写也只是C更接近汇编,然后像gcc等编译器在ANSI C的基础上对它进行了扩展使得它可以嵌入汇编指令,这才使得它们更适合用来编写操作系统的。只用标准C是写不出操作系统的。
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
展开全部
因为c是“中级语言”(也有高级语言的说法,但是那只是相对来说),和高级和低级语言不同
高级语言对底层控制弱,低级语言高级应用太繁杂以至于有些不可能人力范围内实现。而c正好是中间,对下能控制硬件,对上能扩展应用,对于现代操作系统的要求,它是正好那个。
其实现在还有纯汇编(纯低级语言编写,比如那个menutOS)和纯高级的(如一些lisp系统)的操作系统,但是那些都不属于一般而论的范围。
高级语言对底层控制弱,低级语言高级应用太繁杂以至于有些不可能人力范围内实现。而c正好是中间,对下能控制硬件,对上能扩展应用,对于现代操作系统的要求,它是正好那个。
其实现在还有纯汇编(纯低级语言编写,比如那个menutOS)和纯高级的(如一些lisp系统)的操作系统,但是那些都不属于一般而论的范围。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么语言都能写的~用c语言是相对稳定,安全,方便的一种方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询