gpt4 book ai didi

rust - 如何在#[no_std] 环境中使用 Tokio Reactor?

转载 作者:行者123 更新时间:2023-11-29 08:04:55 25 4
gpt4 key购买 nike

我正在尝试在 Tock OS 嵌入式操作系统上实现 future 。我正在尝试使用 Tokio#[no_std] 环境中。

我的 Cargo.toml 文件如下所示:

[package]
name = "nrf52dk"
version = "0.1.0"
authors = ["Tock Project Developers <tock-dev@googlegroups.com>"]
build = "build.rs"

[profile.dev]
panic = "abort"
lto = true
opt-level = "z"
debug = true

[profile.release]
panic = "abort"
lto = true
opt-level = "z"
debug = true

[dependencies]
cortexm4 = { path = "../../arch/cortex-m4" }
capsules = { path = "../../capsules" }
kernel = { path = "../../kernel" }
nrf52 = { path = "../../chips/nrf52" }
nrf5x = { path = "../../chips/nrf5x" }
futures = {version = "0.2.0", default-features = false }

编译没有错误,但是当我添加 tokio-reactor = "0.1.1" 时,我收到错误:error[E0463]: can't find crate for std。我知道这是因为 Tokio 从 std 库中导入了一些东西。

有没有可能解决这个问题?

最佳答案

据我所知,你没有。 Tokio Reactor 0.1.1 imports many things from the standard library , 它们都不是有条件的。

大多数导入可能会切换到 libcore 替代方案,但 Arc 需要内存分配,它位于 alloc crate 中。

作为支持 no_std 的 crate 示例,查看 Futures 0.1.20 .这有一个功能标志,可以选择加入需要标准库的功能。

如果您希望这样做,您需要为 Tokio 及其所有依赖项做出大量努力,以添加功能标志以选择加入需要标准库的所有功能。值得向维护者提出一个问题来协调这样的工作。

关于rust - 如何在#[no_std] 环境中使用 Tokio Reactor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49922999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com