GCC 13 主线已合并 Modula-2 语言前端代码
昨天我们报道了 GCC Rust 前端“gccrs”被合并到 GCC 13 的 GNU 编译器集合代码库中。据外媒 Phoronix 报道, GCC Modula-2 语言前端代码也已经完成合并。
Modula-2 是 Pascal 语言之父 Niklaus Wirth 在 1980 年代开发的语言之一,作为一种过程编程语言,Modula-2 继承了 Niklaus Wirth 早期在 Modula 语言和最著名的 Pascal 上的工作,随后 Modula-2 又被 Modula-3 和 Oberon 语言继承。但 Modula-2 语言没有被遗弃,一直被 Lilith 工作站、俄罗斯 GLONASS 导航卫星和各种老化的嵌入式系统所使用。多年来,热情的 Modula-2 开发人员努力想将 Modula-2 语言前端合并到 GCC 中。
12 月初,GCC Modula-2 前端的 v3 补丁系列已合并,剩下只有一些代码整理和文档工作。GNU Modula-2 实现了 Modula-2 的 PIM2、PIM3、PIM4 和 ISO 方言,且编译器代码已经在 x86_64 和 AArch64 上进行了测试。随后 Modula-2 前端被正式批准合并到 GCC 中,这门拥有四十年悠久历史的语言终于被合并到 GCC 的 Git master,可以在将于明年 3 月左右发布的 GCC 13 编译器版本中找到它。
将 Modula-2 前端添加到 GCC 代码库增加了 541k 行代码,其中包括编译器支持、测试和相关基础设施。 GCC 现在拥有 C、C++、Objective-C、Fortran、Ada、Go、D、Rust 和现在的 Modula-2 的语言前端。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
华为开发者贡献 Linux 内核补丁,将核心内核函数速度提升 715 倍
Linux 6.2 近日合并了一个重要补丁,该补丁能够将一个核心内核函数速度提升 715 倍。 从合并的注释可知,贡献此补丁的维护者 Zhen Lei 来自华为,他将 kallsyms_lookup_name() 的平均查找性能提高了 715 倍,从而使内核里面旧实现的时间复杂度从 O(n) 升级到 O(log(n)),大幅减少查找时间,同时还保留了 /proc/kallsyms 上旧的实现支持。 kallsyms_lookup_name() 函数用于根据名称查找符号的地址,并可用于查找内核符号表中的任何符号。 Zhen Lei 曾在较早的补丁中描述了 kallsyms_lookup_name() 的优化思路: 目前,要搜索一个符号,我们需要将'kallsyms_names'中的符号一个一个展开,然后使用展开后的字符串进行比较。这种算法的时间复杂度是 O(n)。 如果我们像地址一样按升序对名称进行排序,则可以使用二分查找。这种算法的时间复杂度是 O(log(n))。 为了不改变“/proc/kallsyms”的实现,表 kallsyms_names[] 仍然按照升序与地址一一对应存储。...
- 下一篇
微软开源 Soundscape,源代码 1 月公开
Soundscape 是微软于 2017 年创建的一个研究项目,其本质上是一个导航应用(iOS 平台),但与传统的导航应用程序不同,Soundscape 使用了 3D 音频提示来丰富用户对环境的认识,让用户可以以身临其境的方式感受周围环境,无需查看手机小屏幕上的指示。 例如当你行走时,Soundscape 会自动提示所经过的道路、交叉口、地标,以及用户手动标记的关键兴趣点等。 因此也能够看出,该项目是以视障人士为目标,通过这个项目,微软将探索使用基于音频的创新技术,使这些人士能够建立对周围环境更丰富的认识,让他们可以从容自在地出门游玩。 近日微软宣布,从研究角度来看 Soundscape 项目已经完成了使命,该项目将于 2023 年 1 月 3 日以开源软件的形式提供,该应用程序的源代码同样将于上述日期在 GitHub 上发布,并会附有关于如何构建和使用它的文档。 同样在 2023 年 1 月 3 日这一天,Soundscape 应用程序将无法从 App Store 下载,已经安装了它的用户将能够继续使用到 2023 年 6 月。为该应用程序提供支持的 Azure 服务也会在 2023...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境