2.5 C++ 使用指南
前言
文档目的
本文档旨在为开发者提供在 SpacemiT RISC-V64 原生机器上进行 C++ 开发的完整使用说明。内容涵盖从开发环境准备、编译与构建方法、常见库的使用,到面向 RISC-V64 平台的性能优化与调试技巧。 本说明文档的目标是:
- 帮助开发者快速搭建并验证 C++ 开发环境;
- 指导开发者在 RISC-V64 平台上正确编译、运行、调试 C++ 程序;
- 提供 RISC-V64 平台相关的编译选项、指令集优化和常见问题解决方案;
- 为后续进行高性能计算、系统编程、AI/机器人开发等提供基础支撑。
适用环境
本说明适用于运行在 SpacemiT RISC-V64 架构处理器 上的原生 Linux 操作系统环境,推荐使用 Bianbu ROS 和其他类似发行版:
- Bianbu ROS (推荐)
- Ubuntu RISC-V (24.04 及以上)
- 其他兼容 RISC-V64 的 Linux 发行版(如 Fedora RISC-V、openEuler RISC-V、Arch RISC-V 等)
运行环境的一般要求:
- 系统已预装或可通过包管理器安装
g++
、make
、cmake
等常用构建工具 - 系统提供标准 C 库(glibc 或 musl)和 C++ 标 准库(libstdc++)
- 网络连接正常,以便通过
apt
、dnf
、pacman
等工具安装依赖库
开发环境准备
编译器
GCC/G++ for Bianbu ROS
-
状态:GCC 在 Bianbu ROS上已经有成熟支持,其他 Bianbu 系统的使用方法相同。
-
安装:
sudo apt update
sudo apt install build-essential g++ gcc -
常用编译参数:
-O2/-O3/-Ofast
→ 优化等级-march=rv64gc
→ 指定 RISC-V 基础指令集-march=rv64gcv
→ 启用向量扩展
Clang/LLVM 支持情况
-
Clang/LLVM 的支持已进入主线,但某些优化/扩展可能不如 GCC 完善。
-
可通过包管理器安装:
sudo apt install clang
-
使用时可通过
clang++
替代g++
进行编译。
验证编译器版本
g++ --version
clang++ --version
确认输出中包含 riscv64
或正确的版本号。
标准库
libstdc++ 状态
-
libstdc++
是 GCC 默认的 C++ 标准库实现,RISC-V 发行版一般随g++
一起安装。 -
确认方法:
dpkg -L libstdc++6
glibc 情况
-
glibc: Bianbu ROS 使用 glibc。
-
查看信息:
ldd --version
常用开发头文件路径
- 系统标准路径:
/usr/include/
/usr/lib/riscv64-linux-gnu/
(库文件)/usr/include/c++/<版本号>/
(C++ 头文件)