windows软件用什么语言开发(windows编程语言是什么)

操作系统是我们电脑必须要安装的软件,有了它其它软件才能工作,那么很多好奇的小伙伴会想知道这个Win10系统是用什么编程语言来写的呢?工程量有多大?现在微软内核工程师阿列克斯日前在回答网友提问中透露了这些问题。

Win10多数内核都是使用C语言编写的:

微软工程师称多数内核都是使用C语言编写的,你甚至可以在Github上找到以往泄露的部分内核源代码数据。

虽然泄露的源代码已经是很多年前并且是过时的,但是通过研究这些代码你就知道内核的开发和语言构成等。而在内核模式下运行的多数内容也是使用的C 语言例如大多数的文件系统、网络模块、大多数的驱动程序等。但是也有部分内容使用的是C 进行编写的,不过从内核往用户前台你会发现 C/C 编写的内容越来越少。

Win10是史诗般的巨型编程项目:

完整的源代码树包括所有代码以及测试代码和相关的源代码组成,这些源代码文件超乎绝大多数用户的想象。

例如整个数据包含高达50万个文件夹、400 多万个文件,这些文件们整个占用的存储空间就有 581GB 之多。阿列克斯表示自己某次离开Git分支几个星期 , 等回来的时候已经发现有超过 60000 次新的代码变更和提交。

回到主题:如果你想知道Windows 10是什么语言编写的,那么其中98%都是C/C 并且C占据了绝大部分。

可以说Windows10是非常庞大的一个操作系统项目,那么需要多少人来编写Windows10呢?

其实还没有可靠的数字,当年WIN2000据说是1000多人,编写3年完成的,后面和操作系统基本上都是WIN NT的后续,所以人会很多,钱会投资极大,但幸好不是从零开始。

那么“Windows 10 是由什么语言写就的?

ntoskrnl.exe 内核大部分是使用 C 编写的,在内核模式下运行的大多数内容也是用 C 编定的,包括文件系统、网络与驱动程序等。其中也包含一些 C 代码,而越靠近用户模式、越接近新的源码时,C 的使用变得越来越少,反之 C 变多。

具体看一下 Windows 10 “DVD” 的源码,作者猜测其中 98% 由 C 和 C 编写,而 C 占据大比例。

此外,.NET BCL 与一些相关库和框架通常都是用 C# 编写的,“但它们也只不过是带有几座 C 小岛的 C 汪洋大海的一栗”,它们自不同的部门,代码并不属于 Windows 源码树。

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C 或者为了入行、转行学习C/C 的伙伴可以私信回复小编“学习”领取全套免费C/C 学习资料、视频

(0)

相关推荐

  • windows编程语言是什么(windows软件用什么语言开发)

    这是微软的内核工程师 Axel Rietschin在Quora的一个回答.Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Win ...

  • C语言编写Windows下的实用程序:[3]窗口

    前面两篇,我们只是通过Windows系统的MessageBox函数,简单做出了一个提示对话框,这对我编写实用的窗口程序是远远不够的,这篇开始,我们来介绍下怎样用C语言开发Windows下的窗口程序. ...

  • swift语言开发用什么软件?swift语言开发编程环境搭建教程详情

    swift语言开发用什么软件呢?自从苹果wwdc2014大会上推出swift语言之后,程序猿们就开始转战开发苹果软件;但是swift语言开发编程环境怎么搭建呢?我们一起来了解一下,希望可以对大家有所帮 ...

  • Go语言开发环境搭建与初探(Windows下)-全面

    Go语言开发环境的搭建(Windows) 操作方法 01 在Go语言的Google代码项目上下载Windows下的Go语言开发包(下载地址见工具).有zip压缩版和msi安装版两个按本下载.(这里使用 ...

  • Windows上如何搭建C语言开发环境?

    搭建C语言开发环境,需要适合编写计算机程序代码的文本编辑工具,以及C语言编译器.在刚接触C语言的小伙伴,使用Notepad++亦或是EditPlus都可以,编译器选用Windows版的GCC. 操作方 ...

  • 怎样在windows下搭建go语言的开发环境

    这个教程介绍了怎样安装go语言的环境 操作方法 01 首先打开go语言中文网https://studygolang.com/dl下载中心,找到windows下的go语言安装包,这里会列出所有的go安装 ...

  • 如何让FreeBSD上运行Windows软件

    FreeBSD最大的优势是,在一台双启动计算机上,无需退出FreeBSD就能够访问其他操作系统分区中的数据。在FreeBSD中安装其他分区后,读、写或者删除该分区的文件是相当简单的。也许有读者会问,在 ...

  • 使用Python开发windows桌面程序【超简单】

    使用Python开发windows桌面程序[超简单] 操作方法 01 一.开发前期准备 1. boa-constructor-0.6.1.bin.setup.exe #一个wxWidges的集成开发环 ...

  • 4种在Linux上运行Windows软件的方法

    Linux已经走了很长的路,但是您可能还需要偶尔运行Windows应用程序 - 尤其是仅限Windows的PC游戏.幸运的是,在Linux上运行Windows应用程序有很多方法. 当然,在尝试运行旧的 ...