yacl
yacl copied to clipboard
调研:YACL 即将升级到 C++20 并放弃对老版本 C++ 的兼容
鉴于 C++20 带来了许多语言新特性,可以提高代码可读性,简化写法,提升 meta programing 能力,提升性能,加快编译速度等等,YACL/HEU/SPU/SCQL 计划从 C++17 全面迁移到 C++20。
目前 YACL 最低要求是 C++17,GCC > 11.2,升级后最低要求 C++20,GCC > 11.2
对使用者的影响
仅影响直接通用 C++ 调用 YACL 的用户,通过其它语言接口(Python SDK)的用户不受影响。
对于 C++ 使用者:YACL 升级 C++20 后直接依赖项目也需要在 20 模式下编译,其中 GCC 11.2 已经支持 C++20 语法,编译器不用变,需要做的是 GCC 编译参数把 -std=c++17
改为 -std=c++20
反馈
考虑到一些项目从 C++17 升到 20 后可能编译不过,如果您对升级 20 有什么疑问或需要技术支持,请留言;或者您确实必须依赖 C++17 版本,也请留言告诉我们
请问有考虑用std::format代替现在用的第三方libfmt库吗?还有std::span代替absl::span?
请问有考虑用std::format代替现在用的第三方libfmt库吗?还有std::span代替absl::span?
no,这么做并没有明显的收益,除非我们哪天可以完全干掉 libfmt 和 abseil
请问有考虑用std::format代替现在用的第三方libfmt库吗?还有std::span代替absl::span?
需要先升级到 C++20 才能替换