获准通过,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 上找到。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
KDE 社区新目标:可访问性、环境可持续、自动化
今年的 KDE 年度开发者大会 Akademy 宣布了围绕软件可访问性、环境可持续软件和内部流程自动化的新社区目标。KDE 社区成员计划将于本月 28 日举行一次谈话,围绕这些目标推进他们的议程。 新目标具体为: KDE for All - 提高可访问性:这不是第一次提交有关可访问性的提案,但今年社区决定是时候采取行动了。该提案的作者指出,要使 KDE 软件易于访问,需要社区许多部分的合作,从设计人员到库开发人员,甚至需要调整底层的 Qt 工具包。测试也将更具挑战性,因为需要确保每个人的可访问性要求得到满足。 可持续软件:KDE 软件有很多东西:free、美观、高性能、可定制……不胜枚举。接下来,KDE 软件将致力于满足环境可持续性目标。Cornelius 曾帮助为 KDE Eco 设立了资金,KDE 介入研究以生产更节能的软件。他计划帮助继续认证 KDE apps (如 KDE 的 PDF 阅读器 Okular),设置测试以衡量软件对环境的影响,并在需要时提高其效率。 自动化和系统化内部流程:每年 KDE 应用程序的数量都在增长,同时社区也获得了更多的用户和更多的硬件合作伙伴。但在某...
- 下一篇
【数据库内核分析系列】:数据库表的创建过程
在数据库中,除了DML之外的所有查询都通过ProcessUtility模块来执行,包括了各类DDL语句、事务相关语句、游标相关语句等。上层调用函数为exec_simple_query函数,其中PortalStart函数和PortalDrop函数部分较为简单。核心函数是PortalRun函数下层调用的standard_ProcessUtility函数,该函数通过switch case语句处理了各种类型的查询语句,包括事务相关查询、游标相关查询、schema相关操作、表空间相关操作、表定义相关操作等。 standard_ProcessUtility函数会根据nodeTag(parsetree)的值来确定sql的操作类型,create table一般都是进入T_CreateStmt分支,调用CreateCommand函数。 `void standard_ProcessUtility(Node* parse_tree, const char* query_string, ParamListInfo params, bool is_top_level, DestReceiver* dest, #...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度