Windows这种系统是C语言还是C++开发的啊

伯小虎点蚊香你能回答下操作系统为什么用C语言写而不是C++写吗我会继续加分的... 伯小虎点蚊香 你能回答下操作系统为什么用C语言写而不是C++写吗
我会继续加分的
展开
 我来答
随便什么名啦啦
2020-04-30 · TA获得超过6988个赞
知道答主
回答量:18
采纳率:0%
帮助的人:5337
展开全部

WINDOWS系统内核层以C语言为主还有部分C++以及少量的汇编,用户层以C和C++为主 也有汇编。部分应用程序时C#/VB的。

而WINDOWS2000则已经有20余万行代码,其中80%是用C++编写,其余部分有C和汇编,底层接口用汇编编写。 

所以C++的类的概念就能在这里很好地利用,但是毕竟C++的效率不如标准C及汇编,所以在一些明显以效率为重的地方用的还是标准C及汇编。

扩展资料:

Windows操作系统是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也当前应用最广泛的操作系统。

Windows采用了图形化模式GUI,比起从前的Dos需要输入指令使用的方式,更为人性化。随着计算机硬件和软件的不断升级,微软的 Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的 Windows1.0到大家熟知的 Windows95、 Windows98、 Windows2000、 Windows XP、 Windows Vista、 Windows7、Windows8、Windows8.1、Windows 10和Windows Server服务器企业级操作系统,微软一直在致力于Windows操作系统的开发和完善。

参考资料:百度百科-Windows操作系统

萌萌哒叔
2010-01-15 · TA获得超过9237个赞
知道大有可为答主
回答量:1988
采纳率:33%
帮助的人:730万
展开全部
当然是C语言了,Windows就是C语言编写的
开发平台现在来讲当属.NET Framework了,这是当下Microsoft力推的Windows程序设计框架。
还有的就是MFC,但是比较难用,而且已经被.NET取代了。
最基本的就是C+SDK,这是最最底层的Windows开发的方式,难度最大,但是程序的执行效率最高。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunhr
2010-01-15 · TA获得超过356个赞
知道小有建树答主
回答量:563
采纳率:0%
帮助的人:0
展开全部
我来回答一下,Windows这种复杂的操作系统是由很多组件组成的,不同的组件使用的开发语言肯定不同,VC++(MFC)、C#.NET、VC++.NET、XML等语言的使用组成的Windows。而Windows是不开放源代码的,因此具体使用什么语言我们只能猜测或通过观察得知。众所周知的是,C和C++最大的区别就是C++是面向对象的,而编写Windows这个庞大的系统的内核,肯定是要面向对象的(MFC),即使是最基础的Platform SDK也是面向对象的,因此,Windows的内核如果非要二选一的话,毋庸置疑是C++开发的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wn541200
2010-01-15 · TA获得超过500个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:305万
展开全部
我觉得内核嘛,应该是C和汇编,界面C++.

汇编嘛虽然高效,但由于可移植性太差(不同的处理器,提供不同的汇编指令),也不是太多。一般都用在和处理器密切相关(我在玩ARM9,MMU那个东西的时候就遇到了,只能用处理器提供的指令,而不能用其他语言),和实时性要求非常高的地方。

越高级的语言,虽然可以减短开发周期,但效率会越来越低,我想微软不会为了这点时间,而牺牲了系统的性能。

折中来还是C语言是最好的(现在搞嵌入式的大多用C语言做开发)。

内核(驱动程序编译在里面或做为一个模块)是连接硬件和上层的一个桥梁,为上层的服务提供接口。像 WinAPI函数就是用C或汇编写的,提供一个接口,供其他语言调用。MFC只不过是对WinAPI的一个简单的封装而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夺魂狼剑
2010-01-16 · TA获得超过1273个赞
知道小有建树答主
回答量:796
采纳率:0%
帮助的人:799万
展开全部
其实现在 C 和 C++ 之间的界限已经很模糊了,在 Vista 内核中,C++ 也占到了很大比例。

也可以换一种方式来理解,内核就是用 C++ 写的,只是 C++ 以面向过程的方式被使用。

至于汇编,个人愚见,C++ 不也可以用 _asm 语句块来内嵌吗?虽然不能用 .if 这样的伪指令,但可以用 C++ 的流程控制语句。

至于.net托管代码,你可以看一下 %systemroot%\system32\ 目录下的EXE和DLL,.net只占很小一部分比例。

无论.net在怎么牛b,它都是基于Windows的,它只是为了实现平台统一的产物,至少就目前而言,.net托管代码还不能运行在核心态,还不能用来写驱动,因为所有的.net代码都被编译成与平台无关的MSIL中间语言,再由CLR中的JIT实时编译器同步映射为机器代码,.net的实现原理决定了它不能用来写OS。
.net推行了将近十年,正因为上面几点,我还是坚守C/C++本机代码开发,MFC也并没有被淘汰,很多成功的大型软件都是用MFC实现的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式