新闻  |   论坛  |   博客  |   在线研讨会
现在国内c++行业的主流版本是什么?
电子禅石 | 2024-04-09 11:26:00    阅读:331   发布文章

目前国内C++行业的主流版本包括以下几个:


1. C++98:这是最早的C++标准版本,也是被广泛应用的版本之一。许多老旧的项目仍在使用这个版本。


2. C++11:这是C++的第一个正式的ISO标准版本,于2011年发布。它引入了许多新特性,例如自动类型推导、右值引用、lambda表达式和智能指针等,使得C++的编程更加方便和高效。


3. C++14:于2014年发布,是C++11的更新版本。它主要修复了一些缺陷,并增加了一些新的特性,如二进制字面量、通用lambda捕获和泛型lambda等。


4. C++17:于2017年发布,是C++的下一个标准版本。它增加了许多新特性,如结构化绑定、标准文件系统库和并行算法等。C++17正在逐渐成为国内行业的主流版本。


除了上述的标准版本外,一些国内企业和项目也可能使用自定义的C++版本或者基于上述标准版本进行自定义扩展。这些自定义版本通常根据具体需求修改标准库或者添加自己的库和工具。例如,一些高性能计算、游戏开发或者大数据处理项目可能会使用一些特定的C++版本。


如何知道自己的交叉编译器支持到那个版本的c++呢?

在交叉编译工具后面输入 -std=c版本或者c++版本
如下查看是否支持c++17

正常支持的版本c++11

/mnt/hgfs/build_all$ aarch64-poky-linux-g++ -std=c++20
aarch64-poky-linux-g++: error: unrecognized command line option ‘-std=c++20’; did you mean ‘-std=c++2a’?
aarch64-poky-linux-g++: fatal error: no input files
compilation terminated.
/mnt/hgfs/build_all$ aarch64-poky-linux-g++ -std=c++10
aarch64-poky-linux-g++: error: unrecognized command line option ‘-std=c++10’; did you mean ‘-std=c++11’?
aarch64-poky-linux-g++: fatal error: no input files
compilation terminated.
/mnt/hgfs/build_all$ aarch64-poky-linux-g++ -std=c++98
aarch64-poky-linux-g++: fatal error: no input files
compilation terminated.
gcc和g++的区别,如何看自己的编译器支持的C++的版本


gcc和g++的区别

用一句话来说,就是gcc将程序视为c语言的,g++将程序视为C++的

gcc和g++的区别主要在于它们处理不同后缀的文件类型、编译和连接阶段的不同调用方式,以及它们对C++特性的支持方式

文件类型。gcc将后缀为.c的文件视为C程序,而g++将后缀为.c和.cpp的文件视为C++程序。
编译和连接阶段。gcc和g++在编译阶段都会调用各自的内核,
但在连接阶段,g++通常用于完成C++程序的链接,
因为gcc不自动链接C++程序所使用的库,
需要使用g++来编译或是在gcc命令行上加上对C++库的链接选项。
对C++特性的支持方式。
gcc和g++在编译C++代码时是等价的,
但gcc不会自动调用C++程序所使用的库进行链接,
因此需要使用g++来编译或是在gcc命令行上加上对C++库的链接选项


如何看自己的编译器支持的C++的版本

先普及一下各编译器的版本,调用如下函数,


printf("%ld\n",__cplusplus);

对应关系如下

C ++ 98:__cplusplus是199711L

C ++ 11:__cplusplus是201103L

C ++ 14:__cplusplus是201402L

C ++ 17:__cplusplus是201703L

————————————————


                        

原文链接:https://blog.csdn.net/weixin_45800887/article/details/136304973


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
最近文章
签名类型
2024-04-29 16:28:59
cat 文件名
2024-04-29 15:05:34
推荐文章
最近访客