获准通过,Fedora 将解决 C 语言历史遗留问题


在半个月前,Fedora 提出了一项新的提议,该提议希望 “将 Fedora 移植到现代 C 语言标准”,如今该提议的状态已被修改成 “接受”,这也意味着这一提议已获得 Fedora 工程和指导委员会(FESCo, Fedora Engineering and Steering Committee)的同意。

提议中写道:

早在 1999 年,C 语言标准的一个新的修订版删除了一些向后兼容的特性,然而 GCC 仍然默认接受这些过时的结构。对这些结构的支持让程序员感到困惑,并有可能影响 GCC 实现未来 C 语言标准中的功能。预计未来的 GCC 版本(可能是 GCC 14)将默认不支持这些传统的语言结构。此更改的目标是让 Fedora 为 GCC 的转变做好准备。

Fedora 设定的目标期限为 Fedora 40 以及 GCC 14 发布之前,根据开发计划,两者都将会在 2024 年发布。开发者也提到,LLVM 也在考虑 2023 年推行类似的举措,因此也将从这些移植工作中受益。然而,LLVM 16 可能会在这项工作结束之前就率先登陆 Fedora,LLVM 团队目前正在研究其他方法。

在该项提议中,Fedora 也提到了此次转变可能会带来的一些变化,其中包括移除隐式函数声明、移除隐式 int、删除旧式函数声明、新的 bool/true/false 关键字、改变函数声明中()的含义,以及拒绝将整数和指针之间的隐式转换作为错误等。

这一变化将主要影响那些已经很少再进行维护的开源软件。但是对于已经专注于瞄准现代 C 标准的主要开源项目来说,这一变化应该不会造成太大影响。这项提议的具体详情可以在 Fedora Wiki 上找到。


相關推薦

2022-08-10

Fedora 工程和指导委员会 (FESCo) 批准了在 Fedora 37 使用 Web UI 安装程序的提案。因此,如果没有出现技术问题,并且 Web UI 的预览版开发工作顺利,那么在 10 月发布的 Fedora 37 上,用户将可以尝试使用基于 Web 的安装程序。

2022-10-29

Fedora 37 将在 Raspberry Pi 4 设备上提供官方支持 Fedora 37 获准使用 Web UI 安装程序 Fedora 37 新提案:不受限制地访问 Flathub 为节省存储空间,Fedora 37 将按需安装固件 Fedora 37 将使用最小 Curl 包,仅支持 HTTP(S) 和 FTP 协议 Fedora

2024-08-06

,自动将旧 C 代码转换为 Rust 代码。 DARPA 表示希望能够通过 AI 模型推动编程语言的转换,从而使软件更加安全。TRACTOR 的 DARPA 项目经理 Dan Wallach 在一份声明中表示: “你可以访问任何一个 LLM 网站,开始与其中一个 AI 聊天

2023-12-13

服务目录变更监控优化,不再只支持jar文件的监控,可通过配置文件配置需要排除监控的文件 启动配置文件boot.properties更改为boot.json,使用JSON格式配置 安全性增强,首次启动生成token随机盐,避免了用户未改默认jarboot.toke

2024-08-09

强大的生产力赋能广大程序员。无论是新开发的软件还是通过遗留数据库反射以再次开发的遗留项目,您都可以使用动词算子式通用代码生成器的强大生产力大大加速研发速度。仙童永远是广大程序员的瑞士军刀,是加快开发速

2024-01-23

表大会第二次会议于日前召开,会上透露,2023,年,北京获准向公众开放的生成式人工智能大模型产品占全国近一半。今年,北京将推动人工智能模型对标国际先进水平,加快在政务、医疗、工业、生活服务等领域应用。 北京

2022-03-11

ration,这对我们来说也是一个至关重要的特性。我们可以通过多种方式支持 SPIR-V,我们期待与社区积极合作来解决这个问题。” 鉴于 LLVM/Clang 3.7 已经有 7 年的历史,微软不打算将现有的编译器合并到现代 LLVM 中,而是计

2022-03-14

ration,这对我们来说也是一个至关重要的特性。我们可以通过多种方式支持 SPIR-V,我们期待与社区积极合作来解决这个问题。” 鉴于 LLVM/Clang 3.7 已经有 7 年的历史,微软不打算将现有的编译器合并到现代 LLVM 中,而是计划

2024-10-06

程序,您也可以将数据库反射为一个SGS2的Excel模板。而后通过Java通用代码生成器光或Golang通用代码生成器的Rust语言兼容性功能,将此SGS2模板编译成Java或Golang的应用程序,在此过程中,您可以保留数据库中的所有数据,不必从

2022-12-10

安全代码或部分空安全代码的模式(混合模式)。 Dart 通过一系列的静态和运行时检查来提供健全的空安全。每一个使用了空安全的 Dart 库都会拥有所有的静态检查和更严格的编译期的错误提醒。对于包含了空安全库的混合模

2024-06-28

greSQL数据库自动反射功能。完善了编辑器,所有Domain可以通过下拉菜选择。完善了多对多候选叠加时的语法检查。 Rust 通用代码生成器:莲花将强大的生产力赋能广大程序员。无论是新开发的软件还是通过遗留数据库反射以再

2024-08-03

大的生产力赋能广大程序员。无论是新开。发的软件还是通过遗留数据库反射以再次开发的遗留项目,您都可以使用动词算子式通用代码生成器的强大生产力大大加速研发速度。 代码生成器项目地址:https://gitee.com/jerryshensjf/Fai

2024-06-04

门包含多项内容的“高级计算机程序设计”课程。该课程通过引入开源项目作为案例,向学生传授C和C++的独特优势,介绍多种CPU架构、GPU编程、计算瓶颈分析、各种开发工具和新型Rust语言等内容。这些内容让学生更加深入地理

2022-09-08

Fedora Wiki 上的变更提案显示,明年春天的 Fedora 39 可能会用新的 DNF5 打包工具和 libdnf5 支持库取代 DNF、libdnf 和 dnf-automatic。DNF5 可大幅改善用户体验,并提供更好的性能来处理 Fedora Linux 上的软件管理。 变更提案大致总结