0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一些C++的历史进程

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-01-09 14:20 次阅读

在2019年7月,ISO WG21委员会批准了C++ 20的完整草案,11月获得批准,意味着C++ 20将会在今年成为标准。

C++ 软件工程师 Bartek 发布博客,回顾了 C++ 2019 年的发展情况。

Bartek 主要介绍了 2019 年 C++ 特性上的演进、在全球的会议重大进展、相关工具的改进,以及 C++20 新特性的期待。

他总结成三大关注点:

C++20 即将发布

工具,现在编写 C++ 代码更加容易

C++ 在开发者中的稳定地位

从下表可以看出来,在 2019 年,C++ 社区做了许多事情,像我们关注的新特性方面的进展也有不少,比如 Clang 8.0.0、9.0.0 发布、VS 2019 发布与 GCC 9.1 发布等。

简单总结起来,从 Clang 5.0、GCC 8.0、Visual Studio 15.7 和 Intel C++ Compiler 19.0.1 开始,所有编译器都支持 C++ 语言特性。

虽然 C++ 标准库需要其它支持,特别是并行算法和文件系统之类的要点。std::filesystem需要使用到 GCC 8.1(或更高版本的 GCC 9.1)、Clang 3.9(或更高版本 7.0)和 Visual Studio 2017 15.7。

并行算法更新最早在 Visual Studio 2017 15.7 中可用,但随着之后的更新,MSVC 团队添加了更多算法。

关于 C++20 的讨论在今年占据主导地位,目前特性已经冻结,主要特性包括:

模组

协程

标准库 Concepts 的概念

范围

constexpr支持:new/ delete,dynamic_cast,try/ catch,虚拟

constexpr 向量和字符串

计时:日历、时区支持

std::format

std::span

std::jthread

目前流行的编译器已经实现了许多 C++20 特性。Bartek 列了一个 C++20 新特性的小表:

工具方面,首先 Visual Studio 对 C++ 提供了众多新的支持,包括:

使用 Visual Studio IntelliCode 的 AI 辅助代码补全。

C++ MSBuild 和 CMake 项目中对 Clang 和 MSVC 的 Clang-Tidy 的支持。

AddressSanitizer 支持 Windows 上使用 MSVC 编译的项目。

与 CMake 更好地集成。

Concepts 在 16.3 中可用。

全面的to_chars()支持,满足了 C++ 17 的要求。

提供了一个名为 C++ Build Insights 的新工具集合。

Clang/LLVM 提供了许多强大的实用程序,比如:

Clang Tidy

Clang-Include-Fixer

AddressSanitizer

MemorySanitizer

代码分析器 CppDepend v2019.3 增加了对 MISRA 编码准则的支持,VS 2019 支持、QT 项目、简化的 UI、嵌入式项目支持。

PVS-Studio,这是一个使用 C/C++ 和 C# 编写的程序源代码中的错误检测工具,2019 年的一些显着变化包括 .NET Core 3 和 3.1 项目分析、MISRA 准则支持、40 多项新检查、对 Java、SonarQube 插件的支持。

包管理器 Conan 与 Microsoft/vcpkg 也都有一些新变化。

最后 Bartek 介绍了 2019 年 C++ 在开发者人群中的地位依然稳定:

TIOBE 编程语言排行榜中 C++ 排到了第 4 位。

在 StackOverflow 调查中,C++ 位于 C 上方的第 9 位。

在 GitHub 的调查中,C++ 排名第 6。

除了这些榜单,Bartek 自己也做了一个简单的调查问卷,结果显示了关于 C++ 的使用情况,包括使用的标准库版本、工具的选择与对 C++20 新特性的使用等:

总而言之,我认为未来十年我对C ++持乐观态度。不知道以后会发生什么,但是在接下来的十年中,我相信C ++应该处于相对稳定的位置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1553

    浏览量

    67524
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72903
  • 代码
    +关注

    关注

    30

    文章

    4557

    浏览量

    66835
收藏 人收藏

    评论

    相关推荐

    C/C++代码动态测试工具VectorCAST插桩功能演示#代码动态测试 #C++

    C++代码
    北汇信息POLELINK
    发布于 :2024年04月18日 11:57:45

    请问CubeIDE如何支持C++的开发?

    CubeIDE如何支持C++的开发。有没有一些例程。
    发表于 03-25 06:22

    一些有关通信电路的资料?

    有关嵌入式之间DSP、ARM、FPGA三者之间和这三款芯片和外部电路之间通信的一些资料,比如说芯片之间的并行通信和芯片和外部电路之间的串行通信,MODBUS、DP、CAN等,一些一些常用的通信协议的
    发表于 03-03 18:53

    回顾苹果自研芯片的历史进程

     苹果尚未生产其设备中的所有芯片。例如,调制解调器是该公司尚未独自攻克的一大组件。
    发表于 12-06 09:17 227次阅读

    OpenHarmony C++公共基础类库应用案例:Thread

    程在第5秒时,关闭子线程运行。 创建1个子线程,每隔1秒打印当前运行次数。 2、基础知识 C++公共基础类库为标准系统提供了一些常用的C++开发工具类,包括: 文件、路径、字符串相关操作的能力增强接口
    发表于 11-22 11:50

    嵌入式C/C++语言精华文章集锦

    面对个人的大型 C/C++程序时,只看其对 struct 的使用情况我们就可以对其编写者的编程经验进行评估。因为个大型的 C/
    发表于 09-25 08:00

    适用于µVision的ARM编译器工具链v5.02 ARM CC++库及浮点支持参考

    下列主题介绍标准CC++库函数,这些函数是C标准的扩展或在某种程度上与标准不同。 一些标准函数与ARM可重定向半宿主环境交互。 还记录了这些功能:
    发表于 08-18 06:35

    如何为Arm编译Cc++代码

    C++源代码翻译成机器代码的编译器。 •将汇编语言源代码翻译成机器代码的汇编程序。 •个链接器,用于将多个机器代码模块组合成个可执行文件。 可用的工具链包括: •Arm编译器6。基于armclang
    发表于 08-02 17:28

    起探索C++的世界!

    C++
    YS YYDS
    发布于 :2023年07月07日 19:10:25

    可以从个利用c++标准库的项目的某处工作示例吗?

    基于 C++ 启动和运行一些东西。我现在尝试编译的示例使用 std::string 和 std::function。每当我尝试将 libstdc++ 添加为附加库时,链接器都会抱怨 。 查看映射文件
    发表于 06-12 08:25

    一些模电笔记

    一些模电笔记
    发表于 06-09 22:33

    有没有人在ESP8266上运行C++

    gcc 编译同个示例 - 仅进行所需的次要代码更改并使用所有相同的编译器参数和标志,它根本不会运行。 有没有人在 ESP8266 上运行 C++?我可能缺少一些重要的图书馆或标志吗?
    发表于 06-09 06:42

    如何从Linux C++ User App运行此类应用程序?

    我需要一些关于 i.MX8QXP 音频驱动程序的帮助。我想使用 imx-audio-framwork ( https://github.com/nxp-imx/imx-audio-framework
    发表于 05-18 10:17

    谁能给我一些关于 MPC5777C 的 MTBF 或 FIT 的信息?

    谁能给我一些关于 MPC5777C 的 MTBF 或 FIT 的信息?
    发表于 05-18 07:08

    为何Linus一个人就能写出这么强的系统

    毕竟一个操作系统的产生、发展和繁荣涉及到的问题还挺多的,比如环境、比如开源、比如生态,甚至还包括一些历史进程和天时地利的影响,所以肯定不是说全靠某一个人信手拈来就能搞定的。
    的头像 发表于 05-12 10:05 534次阅读
    为何Linus一个人就能写出这么强的系统