centos 如何确保C++20支持?

a5g8bdjr  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(423)

我在CentOS 9上安装了g++

g++ (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)

我可以使用开关-std=c++20进行编译,而不会出现错误/警告。
当我在文件系统中搜索'11'时,我发现

/usr/lib/gcc/x86_64-redhat-linux/11
/usr/include/c++/11
/usr/libexec/gcc/x86_64-redhat-linux/11

但是当我搜索“20”时,我什么也没有得到。
我如何“安装”C++ 20?它是什么,如何在RH/CentOS上完成?

yi0zb3m4

yi0zb3m41#

文件路径中的11是编译器版本,不是C版本,所以没有20对应的路径也不是问题。
如果-std=c++20没有给予错误,那么您就拥有了(至少在某种程度上)C
20支持。
理论上有一个__cplusplus宏,它被预定义为至少202002L的值以支持C20,但实际上这并不意味着所有C20特性都被支持。
还有一些特定于feature test macros的功能可能会有所帮助。
有关哪个编译器版本具体支持哪些内容的概述,请参阅https://en.cppreference.com/w/cpp/compiler_support以及各个编译器的相应页面。
正如您所看到的,GCC 11基本上支持了C++20,除了一些项目,特别是在标准库中,例如完整的模块支持,std::stringstd::vectorconstexpr,原子共享指针,特别是std::format

相关问题