現(xiàn)在國內(nèi)c++行業(yè)的主流版本是什么?
目前國內(nèi)C++行業(yè)的主流版本包括以下幾個:
1. C++98:這是最早的C++標準版本,也是被廣泛應(yīng)用的版本之一。許多老舊的項目仍在使用這個版本。
2. C++11:這是C++的第一個正式的ISO標準版本,于2011年發(fā)布。它引入了許多新特性,例如自動類型推導(dǎo)、右值引用、lambda表達式和智能指針等,使得C++的編程更加方便和高效。
3. C++14:于2014年發(fā)布,是C++11的更新版本。它主要修復(fù)了一些缺陷,并增加了一些新的特性,如二進制字面量、通用lambda捕獲和泛型lambda等。
4. C++17:于2017年發(fā)布,是C++的下一個標準版本。它增加了許多新特性,如結(jié)構(gòu)化綁定、標準文件系統(tǒng)庫和并行算法等。C++17正在逐漸成為國內(nèi)行業(yè)的主流版本。
除了上述的標準版本外,一些國內(nèi)企業(yè)和項目也可能使用自定義的C++版本或者基于上述標準版本進行自定義擴展。這些自定義版本通常根據(jù)具體需求修改標準庫或者添加自己的庫和工具。例如,一些高性能計算、游戲開發(fā)或者大數(shù)據(jù)處理項目可能會使用一些特定的C++版本。
如何知道自己的交叉編譯器支持到那個版本的c++呢?
/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++的區(qū)別,如何看自己的編譯器支持的C++的版本
文件類型。gcc將后綴為.c的文件視為C程序,而g++將后綴為.c和.cpp的文件視為C++程序。 編譯和連接階段。gcc和g++在編譯階段都會調(diào)用各自的內(nèi)核, 但在連接階段,g++通常用于完成C++程序的鏈接, 因為gcc不自動鏈接C++程序所使用的庫, 需要使用g++來編譯或是在gcc命令行上加上對C++庫的鏈接選項。 對C++特性的支持方式。 gcc和g++在編譯C++代碼時是等價的, 但gcc不會自動調(diào)用C++程序所使用的庫進行鏈接, 因此需要使用g++來編譯或是在gcc命令行上加上對C++庫的鏈接選項
如何看自己的編譯器支持的C++的版本
先普及一下各編譯器的版本,調(diào)用如下函數(shù),
printf("%ld\n",__cplusplus);
對應(yīng)關(guān)系如下
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
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。