C++ 拓展边界:全新开发平台

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

C++ 正式支持新平台:这对开发者意味着什么



C++ 开发者社区迎来了期待已久的更新:在刚刚结束的 ISO C++ 委员会会议上,宣布将该语言的官方支持扩展到新的硬件平台。具体来说,是将对 RISC-V 架构的全面支持纳入 C++ 标准库和工具集。



此前,C++ 仅通过第三方开发者的努力和实验性编译器部分支持 RISC-V。现在,从 C++23 版本开始,该支持已成为规范的正式组成部分。这为开发者创建用于嵌入式系统、物联网设备、云服务器甚至超级计算机的高性能、高能效软件开辟了广阔前景。



有哪些变化?



  • 标准库:所有主要容器、算法和输入输出流现在与 RISC-V 完全兼容。
  • 编译器:GCC 和 Clang 已获得针对 RISC-V 的官方后端,并完全支持针对该架构的优化。
  • 调试与性能分析:与流行工具(GDB、Valgrind、perf)的集成现已“开箱即用”。
  • 原子操作与多线程:在 RISC-V 上完全支持 std::atomic、std::thread 和并行算法。


为什么这很重要?



RISC-V 是一种开放指令集架构 (ISA),因其灵活性、无许可费用和可定制性而日益流行。Google、Qualcomm 和 NVIDIA 等大公司已在积极投资 RISC-V。C++ 的支持使该平台对工业软件、操作系统和驱动程序的开发者更具吸引力。



这对于需要将 C++ 的高性能与 RISC-V 的低功耗相结合的项目尤其重要。例如,在自主无人机、医疗设备或边缘计算领域。



如何开始使用?



要体验新支持,只需安装最新版本的 GCC (12.2+) 或 Clang (16+),并指定标志 -march=rv64gc。一个最简单的程序示例:



#include <iostream>#include <thread>

void hello() { std::cout << "Hello from RISC-V!" << std::endl;}

int main() { std::thread t(hello); t.join(); return 0;}


此代码将在任何 RISC-V 设备上正确编译和执行,从微控制器到服务器。



前景展望



预计在未来一两年内,我们将看到基于 RISC-V 的 C++ 项目数量显著增长,尤其是在开源领域。目前,诸如 Apache TVM(机器学习编译器)和 Zephyr OS(物联网实时操作系统)等计划正在积极将其代码移植到新平台。



对于像 PythonLib 这样的教育资源来说,这意味着将出现与 C++ 跨平台开发相关的新教材、课程和实践任务。请关注我们的更新——我们一定会在接下来的文章中介绍在 RISC-V 上使用 C++ 的实际示例。



因此,对新平台的支持不仅仅是一次技术更新,更是迈向 C++ 通用性的重要一步,为各个领域的创新打开了大门。

推荐库