作者: BigLoser 访问次数: 270 创建时间: 2022-09-16 00:06:11 更新时间: 2024-03-29 09:05:16
2017 年 12 月,一则提议将 LLVM/Clang 的 C++ 默认方言(default dialect)从 GNU++98 切换到 GNU++14 ,一直持续到前几天的 LLVM/Clang 15 版本。而 GCC 在 GCC 11 版本就已将默认标准设为 GNU++ 17 。
GNU++ 即带有 GNU 扩展的 C++ 语言,GNU 扩展特性可参考 GNU extensions to the C and C++ languages
在 LLVM 15.0 发布后,LLVM/Clang 16.0 版本即将迎来一个重大变化: GNU++17 将成为 LLVM 默认的 C++ 和 ObjectiveC++ 版本。
Clang 的 C++17 支持非常稳定了,只有一些微小的细节需要修复。事实上,Apple 的 DriverKit 已经在上游 LLVM 中进行了更改(D121911 [Clang] 添加 DriverKit 支持 ),默认使用 GNU++17 而不是 GNU++14。
目前相关的补丁已经发布,没有突发状况,默认标准转为 GNU++ 17 应该是板上钉钉的事情。
切换默认版本之后,对于当前与 C++17 不兼容且依赖默认值的 C++ 代码库,则需要设置 -std=gnu ++14 或更早版本,以保持与默认值的兼容性。
语言: zh-CN
翻译人员:
原作者:
转载地址:
源网址:
版权: 本站所有内容, 版权归原作者所有。发表原创内容将会获得现金奖励, 并且随着时间倍数增长, 请了解我们的内容奖励计划。