Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

rust-lang/compiler-builtins

说明与用途

**项目简介(2‑3 句)**
rust-lang/compiler-builtins 是 Rust 语言对 LLVM compiler‑rt 与 libm 的实现,提供底层运行时函数(如整数溢出检查、浮点数学运算等)的纯 Rust 替代。它让在 no_std 环境或自定义目标平台上编译 Rust 程序时,无需依赖外部 C 库即可获得完整的运行时支持。

**价值**

  • **统一语言栈**:全部用 Rust 编写,避免了跨语言链接和二进制兼容性问题,提升代码安全性和可审计性。
  • **适配裸金属/嵌入式**:在没有标准库或操作系统的环境中仍能提供必需的数学与运行时函数,极大降低了移植成本。
  • **可复用性**:作为官方维护的基库,其他 Rust 项目(如 core, alloc)直接依赖,减少了重复实现的工作量。

**典型接入方式**

  1. 在 Cargo.toml 中添加依赖:
   [dependencies]
   compiler_builtins = { git = "https://github.com/rust-lang/compiler-builtins", rev = "v0.1.73" }
  1. 对于 no_std 项目,启用对应特性(如 compiler_builtins/mem、compiler_builtins/mul 等),并在 crate 根部声明 #![no_std]。
  2. 在目标平台的 target.json 中加入 compiler-builtins 的链接指示,或在 rustc 编译时使用 -C link-arg=-lcompiler_builtins。
  3. 若使用自定义链接器或裸机启动代码,需手动在链接脚本中导入 compiler_builtins 提供的符号。

**生产可用性**

  • **成熟度**:项目已有 500+ 星、200+ Fork,活跃维护,最近一次提交在 2026‑06‑23,代码质量和安全审计水平较高。
  • **适用场景**:非常适合 **原型、内部工具、嵌入式固件、WebAssembly** 等需要 no_std 支持的场景。
  • **风险与准备**:集成路径并非全部自动化,需手动检查目标平台的链接配置以及特性开启情况;在大型生产系统中使用前,建议在 CI 中加入 compiler_builtins 的编译与单元测试,确认没有未实现的符号。总体而言,经过适当的依赖和维护审查后,可在生产环境中稳定使用。

实际用途

rust-lang/compiler-builtins helps ship user-facing interfaces with less custom UI work.

  • build product UI faster
  • reuse interface components
  • improve frontend delivery

限制与审查说明

Medium: useful for prototypes or internal workflows, with dependency and maintenance checks before production.

  • 来源: github
  • 语言: Rust
  • 记录日期: 2026-09-05T17:32:02.109Z
原始来源