本篇内容介绍了“分享优秀开源的代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阿勒泰企业提供专业的成都网站设计、成都网站制作,阿勒泰网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
阿波罗11号制导计划
阿波罗11号是第一个成功的使人类登月的任务。 只有4 KB物理内存的阿波罗制导计算机(AGC)为控制航天器提供了支持。 AGC的软件以AGC汇编语言编写,并存储在称为绳索存储器的特殊只读存储器中。 一段时间之前,已扫描了源代码的扫描副本,这些副本已上传到Internet。 此后,有人将几个模块转换为文本文件,然后将其上传到Github存储库。
阿波罗(Apollo)工程团队付出了巨大的努力,通过用汇编语言编写了许多代码行,以取得如此惊人的成就。 在1960年代,编程比现在更加困难。 因为在那时,编程语言的抽象级别较低。 此外,程序员必须编写超级优化的代码才能有效地使用硬件。
雷神之锤III竞技场
Quake III Arena是由id Software开发的第一人称射击游戏。 它是在90年代开发的,当时3D游戏行业刚刚开始使用id Tech 3游戏引擎进行开发。 当时,硬件资源非常有限。 因此,游戏开发人员必须编写精心优化的代码以呈现图形元素。 许多游戏编程计算都需要向量归一化概念,这提出了平方根反比计算的要求。 如前所述,开发人员必须为这些与计算机图形学相关的工作选择最有效的算法。 因此,Quake III Arena团队使用一种非常聪明的方法进行快速反平方根计算,如下所示,使用位级计算。
这段代码中使用的优化水平以及为在90年代实现如此出色的计算机游戏而编写的整个代码显然令人惊讶。 如今,游戏开发通常不处理这一级别的计算,因为物理功能已经由游戏引擎实现。
GNU编译器集合
C编程语言就像现代计算之父一样,因为它通过提供良好的人类可读的抽象级别而与硬件之间的距离非常近。 确实,GNU C编译器已启动。 换句话说,它是使用编译器自举概念以C编程语言编写的。 我注意到我从Github上的GNU编译器集合的代码库中看到了最长的C源文件(可以有比这更长的C源文件,但这是我看到的)。
Google Chrome
流行的Web浏览器(例如Google Chrome,Microsoft Edge和Opera)基于Chromium开源项目,该项目具有两个主要依赖项:Blink呈现引擎(是由Webkit团队开发的WebCore库的一个分支),以及v8 JavaScript引擎, 由Chromium项目团队开发。 毫无疑问,Chromium代码库非常大,并且具有许多第三方模块,例如gRPC和Skia。 但是,Chromium团队以很好的方式构造了所有组件。 他们明智地分离了用户界面相关的逻辑和内部功能逻辑,以在整个项目中实现非常好的可维护性因素。
此外,此代码库还包含Chromium Android和iOS应用程序的源代码。 构建大规模的跨平台应用程序可能会有些复杂。 但是,Chromium对Linux,Windows和Mac的平台特定代码有令人印象深刻的分离。
Git
如今,Git帮助几乎每个软件开发团队管理编码历史和版本。 Git最初由Linux内核的创始人Linus Torvalds制作。 确实,Git的代码库包含一项神奇的工作,这是Gitk的源文件。 Gitk是一个GUI应用程序,可以帮助我们直观地浏览提交。 我们可以使用以下CLI命令来检查两次提交之间的差异。
$ git diff
但是,由于它是视觉工具,因此Gitk允许我们这么快地看到修改。 Gitk的整个源代码只是一个文件。 它是使用Tk UI工具包(是Tcl的扩展)以Tcl脚本语言编写的。 他们通过仅用一个源文件实现整个GUI应用程序,也通过选择动态编程语言以加快GUI应用程序开发来完成了出色的工作。
“分享优秀开源的代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!