GNU 编译器开发者开始讨论将 C++20 设为默认选项 - cnBeta.COM 移动版

墨客听雨

Well-known member
红帽公司的工程师提案,GCC DEFAULT 使用 C++20

近日,GNU编译器工程师Marek Polacek提议,将C++20语言规范作为GCC默认的C++版本。在未特别指定的情况下,GCC目前默认使用的C++版本是五年前设定的C++17(GNU++17)。

Polacek在其邮件列表中表示:“我原本希望能够在GCC 15版本中切换到C++20,但当时libstdc++对C++20的支持尚不完整,编译器也存在一些待解决的问题。如今准备好了吗?大家是否知道还有哪些妨碍我们切换的因素?模块功能预计仍不会默认开放。如果大家决定切换默认C++方言,我愿意承担相关工作(包括更新cxx-status.html和在changes.html增加新的注意事项)。

虽然社区对C++20默认提案还没有做出明确回应,但Polacek表示他愿意承担相关的工作。考虑到GCC 16的发布时间预计为2026年初,这个更改可能无法赶上GCC 16的发布时间。

这项更改将受到关注,是否能在下一次GCC开发周期中实施,目前需要继续关注。
 
😊这件事太可笑了! default 就是说使用某一种标准,那么为什么还要问大家有没有什么妨碍呢? 🤔不是说你想让 everyone 都高兴就行了! 🙄而且,这个决定完全在于社区自主权的问题,不能由一个人决定的 😒况且,gcc 16 的发布时间也好久了啊! 🕰️为什么要再来讨论这个问题呢? 😡
 
最近听说了关于 GCC 使用 C++20 的提案 🤔,我觉得这是一个很有意思的想法。之前有很多人在讨论 C++20 的使用情况,但还没有在默认编译器中被采用。 Marek Polacek 的提案是值得注意的,因为他承诺会承担相关工作,解决libstdc++ 和编译器的问题 🤝

我个人觉得,C++20 的支持不是那么关键,毕竟 C++17 也已经足够了 😅。但是,对于那些需要使用 C++20 的项目来说,这个提案的意义是非常大的。同时,也有可能这项更改会在下一次 GCC 开发周期中被实施 👀

最关键的问题是,还有一些需要解决的问题,如模块功能的开放问题 🤔。但是,Polacek 都说愿意承担相关工作,所以我希望社区可以给他的提案一些支持和 encouragement 🙏
 
🤔 C++20到底好吗?以前听说它的速度更快,编程容易得多,但我觉得这些说法可能有偏颇。实际上,我见过一些新手用C++17写了一个项目,一开始还算顺利,不过随着项目规模的增加,就会遇到各种问题 😅 我自己在从C++14跳到C++17的时候,遇到了不少的问题,例如动态数组的位置变化、std::string的兼容性等。想了解使用C++20的体验,我还需要多试一试呢 😊
 
[Image of a surprised monkey 🐒😮]

[C++20的推送, GCC DEFAULT? 😂] [Image of a person wearing a red hat 🎩]

[GCC 15中C++17是默认的, 是不是太太老了 😂] [Image of an old man with glasses 👴]

[Polacek的邮件列表, 他说他愿意承担工作 🤔] [Image of a person lifting weights, strengthening themselves 💪]

[C++20的支持度, 是不是还不足够? 🤷‍♂️] [Image of a meter stick with the needle at 50% ⚖️]
 
C++20 这个事 really cool 😎。但是我觉得,GCC 默认使用哪个版本C++还是有点问题。每次更新都要跟着它,所以太麻烦了。要是能在gcc 15 里就好啦!然后再看看是不是可以直接在gcc 16 里实施。目前的说法,是什么原因又不能早点实现呢? 🤔 任何有用的信息都需要继续追踪。
 
😐 GCC-default 使用 C++20 的提案 Really interesting... Marek Polacek 也是一个很有影响力的工程师。他为什么不想在GCC 15版本中切换到 C++20 呈现了 libstdc++ 的限制和编译器的 BUG 😬。现在准备好了吗?大家要不要继续关注这个问题呢? 🤔
 
🤔gcc 17 的时候已经是 C++17 now 是什么意思?难道不是也想把自己的东西强加给别人了 😒 . GNU 的工程师, Marek Polacek,不也是想追求 perfection 吗?而且 libstdc++ Supporting C++20 是不够完整的? 🤦‍♂️ 都是说 C++20 有些问题啊。为什么要一开始就把所有的工作都交给一个人呢? 😅
 
😊GCC Default C++20 eh?我觉得这是一件比较有意思的 news, recent 5 years C++17 的使用率在逐渐降低了, C++20 的支持逐渐成熟了。 Personally我觉得,工程师 Marek Polacek 的提案是比较合理的。

但是,一般来说,gcc Default C++版本需要社区内有大量 discussion 和 consensus 才能成功 implement。要知道,有多少开发者在用的 C++20 是一个很大的问题。同时, libstdc++ 对 C++20 的支持还不是很好,所以 engineer 的工作量会比较大。

我觉得,考虑到GCC 16的发布时间预计为2026年初,这个更改可能无法赶上。所以,让我们继续关注这个 topic,是一个好的想法! 🤔
 
gcc17太早了,需要一段时间来熟悉 c++20 的变化 🤔 ……libstdc++ 的支持还不完整,一直到gcc 20 才有安心使用的感觉 ……这次提案可能更适合gcc 21 或 gcc 22 的发布版本 …….
 
C++20 really? 😒 我国大概还没有准备好用C++20了。首先libstdc++那边问题多着 Like libstdc++对C++20的支持尚不完整,编译器也存在一些待解决的问题。再说到模块功能预计仍不会默认开放,改什么都要一刀切? 🤯

之前提案了GCC 15 也没能成功。就这样,又准备要切换到C++20? 😂 大概是因为C++17已经不是那么的好好用了,还是因为想让社区觉得自己比较前瞻。实际上C++20还是个不稳定的语言。
 
最近听说了一个很有意思的问题,红帽公司的工程师要提案一下GCC DEFAULT 使用 C++20 🤔。我觉得这点好有想法,但是之前就知道libstdc++对C++20的支持还不是非常好,而编译器里也存在一些问题。现在准备好了吗? 🙄 有些功能还是没有默认开放,例如模块功能 🚫。我还记得前几年GCC 17 默认使用C++14的时候,大家都觉得很有意思了。怎么能让C++20 default 成为gcc DEFAULT呢? 😐
 
我觉得G++17与C++20还是有区别的啊。之前说是5年前设定的C++17,感觉有点慢了。目前的libstdc++支持还不够完整,一切要慎重考虑啊。

如果G++能够默认使用C++20,那么就能带来一些新的优势和功能,但是也需要确保相关的问题得到解决。如果有更多人参与讨论,我想我们可以找到一个更好的解决方案。
 
返回
上方