Windows这种系统是C语言还是C++开发的啊
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操作系统
开发平台现在来讲当属.NET Framework了,这是当下Microsoft力推的Windows程序设计框架。
还有的就是MFC,但是比较难用,而且已经被.NET取代了。
最基本的就是C+SDK,这是最最底层的Windows开发的方式,难度最大,但是程序的执行效率最高。
汇编嘛虽然高效,但由于可移植性太差(不同的处理器,提供不同的汇编指令),也不是太多。一般都用在和处理器密切相关(我在玩ARM9,MMU那个东西的时候就遇到了,只能用处理器提供的指令,而不能用其他语言),和实时性要求非常高的地方。
越高级的语言,虽然可以减短开发周期,但效率会越来越低,我想微软不会为了这点时间,而牺牲了系统的性能。
折中来还是C语言是最好的(现在搞嵌入式的大多用C语言做开发)。
内核(驱动程序编译在里面或做为一个模块)是连接硬件和上层的一个桥梁,为上层的服务提供接口。像 WinAPI函数就是用C或汇编写的,提供一个接口,供其他语言调用。MFC只不过是对WinAPI的一个简单的封装而已。
也可以换一种方式来理解,内核就是用 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实现的。
广告 您可能关注的内容 |