C++ 正式支持新平台:变化一览

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

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

开始课程

C++拓展视野:新平台获得官方支持



C++开发者社区迎来重要更新:国际标准化组织ISO C++委员会及主要编译器供应商(GCC、Clang、MSVC)联合宣布,对全新软硬件平台提供全面官方支持。该平台即RISC-V——一种开源指令集架构(ISA),正迅速在嵌入式系统、物联网设备甚至服务器解决方案中普及。



此前RISC-V对C++的支持仅处于实验阶段,如今已正式纳入编译器主版本,并在C++23标准中完成官方文档化。这意味着开发者无需使用第三方补丁或测试版工具,即可直接为RISC-V编写C++代码。



对开发者意味着什么?



  • 完备的标准库支持:STL中所有容器、算法和输入输出流现可在RISC-V上原生运行,无需模拟。
  • 架构针对性优化:编译器新增优化标志,适配RISC-V流水线特性(例如支持向量指令扩展)。
  • 内存安全保障:已实现CFI(控制流完整性)和影子栈(Shadow Stacks)等RISC-V防护机制。
  • 成熟生态集成:与主流构建系统(CMake、Meson)及包管理器(vcpkg、Conan)完成RISC-V适配。


实际应用场景



此次支持为过去需要复杂移植的项目开辟了道路。典型场景包括:



  • 基于RISC-V微控制器(如SiFive或ESP32-C3)的嵌入式系统开发,使用C++20/23标准。
  • 面向RISC-V的高性能边缘计算设备,采用C++实现机器学习功能。
  • 将现有跨平台应用(游戏、图形编辑器)移植至RISC-V设备。


开发者技术要点



要开始使用C++ on RISC-V,只需安装最新版编译器:



  • GCC 13+ — 为RISC-V添加了C++23标准的完整支持(此前仅支持C++17)。
  • Clang 16+ — 在libc++中集成RISC-V支持,并改进了向量扩展的代码生成。
  • MSVC — 目前仅通过交叉编译支持RISC-V(从Visual Studio 2022 17.8版本开始)。


基础编译示例:



// hello.cpp#include <iostream>int main() {    std::cout << "Hello RISC-V from C++!" << std::endl;    return 0;}// 编译命令:riscv64-unknown-linux-gnu-g++ -std=c++23 hello.cpp -o hello


对C++生态体系的影响



RISC-V支持不仅是编译器新增后端,更是推动硬件平台多元化、降低对x86和ARM依赖的关键一步。对于PythonLib等教育项目而言,这意味着开发者可在现代开源架构的语境下学习C++,尤其适用于系统编程、机器人技术和驱动开发课程。

推荐库