博客專欄

        EEPW首頁 > 博客 > 現在國內c++行業的主流版本是什么?

        現在國內c++行業的主流版本是什么?

        發布人:電子禪石 時間:2024-04-09 來源:工程師 發布文章

        目前國內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


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: c++

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 讷河市| 新泰市| 延长县| 宝清县| 柯坪县| 武城县| 大新县| 龙里县| 祥云县| 沽源县| 七台河市| 太和县| 天津市| 瓦房店市| 辛集市| 和硕县| 博罗县| 太和县| 阜康市| 卢氏县| 江华| 汝城县| 尤溪县| 措勤县| 五大连池市| 永仁县| 龙井市| 兴海县| 长海县| 阿坝| 柘荣县| 商丘市| 龙里县| 谢通门县| 怀安县| 砀山县| 江阴市| 平顶山市| 禹城市| 姜堰市| 淮南市|