【Rust开发】将Rust项目改为支持在no_std下运行

背景

正在开发的rust项目要求在no_std的环境下运行,因此会遇到许多库中的函数无法使用的情况,记录在开发过程中针对这类问题做的修改,使整体项目能够在no_std环境中运行。

整体步骤

  1. 在入口代码(一般是lib.rs或者main.rs)顶部添加“#![no_std]”,告知编译器不使用标准库,重新编译代码。
  2. 挨个修改报错
  • 用core、alloc库中的函数替代代码中使用的标准库(std)函数
    如:
    在这里插入图片描述
    因为在core中有相应的ops模块(网址:https://doc.rust-lang.org/stable/core/index.html),且能找到Add函数,因此此处将std替换成core即可。
  • vec![]等alloc相关的报错
    在代码中加入:
#[macro_use]
// 使用alloc中的vec替代标准库中的vec
extern crate alloc;
  • 以上都搞不定
    考虑在std库官网找到函数源码,复制过来
  • 持续补充…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值