- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在示例中,hs 从 std 重新导出 HashSet。但它编译时没有错误或警告。为什么?
#![no_std]
pub use hs::HashSet;
pub fn new() -> HashSet<usize> {
HashSet::new()
}
pub fn insert(a: &mut HashSet<usize>, v: usize) {
a.insert(v);
}
最佳答案
#![no_std]
只是意味着您不包含 std
默认。这并不意味着您不能显式或隐式(即通过其他 crate )仍然包含 std
。换句话说,#![no_std]
不禁止使用 std
,但它默认禁用它。
例如,这也有效:
#![no_std]
extern crate std;
fn main() {
std::println!("hello!");
}
关于rust - 为什么 no_std crate 可以依赖于使用 std 的 crate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75505502/
我有一个存储指向某些数据的原始指针的结构: struct Foo { x: *const T } impl Foo { fn new(x: &[T]) -> Foo {
我想做这样的事情: let x = 123; let mut buf = [0 as u8; 20]; format_to!(x --> buf); assert_eq!(&buf[..3], &b"
如何在不使用 std 的情况下实现以下示例? let text = format!("example {:.1} test {:x} words {}", num1, num2, num3); tex
我想做这样的事情: let x = 123; let mut buf = [0 as u8; 20]; format_to!(x --> buf); assert_eq!(&buf[..3], &b"
我写了一个 Rust 库。我听说过 no_std 功能,并注意到我的库没有使用 std 中 core 未提供的任何内容和 alloc .所以理论上我可以只添加 #![no_std] 属性并更改一些导入
我正在开发一个使用 #![no_std] 的项目,我希望能够派生出有用的特性,例如 Copy 和 Clone 。我尝试将 pub use core::prelude::*; 添加到项目根目录和我实际想
我正在为 Rust 中的编程语言实现编写运行时。我计划在这个运行时中链接我生成的编译代码,所以为了保持二进制文件小我不想依赖 std . 当我尝试 cargo test我的运行时,我收到错误提示 st
在标准的 Rust 代码中,vec! 宏位于序曲中,无需手动使其可见。我正在开发一个不使用标准库并设置 #![no_std] 的库,因此前奏也不可见。 在测试代码中,我使用了标准库中的功能,因此我有一
我正在尝试使用 #![no_std] 集编写一些 Rust。我试图一次遍历 str 一个字符;然而,通常的技术似乎都不起作用。当我尝试通过 str 提供的函数访问字符时,例如for c in s.ch
我想在带有 no_std 的 crate 中使用 Box。这可能吗?到目前为止,我的简单尝试都没有奏效。 这个编译(但使用标准库): fn main() { let _: Box = Box:
我正在尝试建立一个与 dueboot 非常相似的项目.即嵌入式 ARM 上的 Rust。现在,我只能编译 Rust 代码,但无法编译。 我基本上完全从那个项目中复制了 rust 代码,但是我并不完全理
我正在尝试在 Tock OS 嵌入式操作系统上实现 future 。我正在尝试使用 Tokio在 #[no_std] 环境中。 我的 Cargo.toml 文件如下所示: [package] name
我想启动一个Rust no_std项目,所以我只是创建了一个新的商品包,并在main.rs中写了以下几行: #![feature(lang_items, start)] #![no_std] exte
我对无堆链表的尝试缺少什么? 我的目标是让下面的代码在堆栈上生成序列 [1, 2, 3],然后在单独的行上打印这些值 ,而不使用 Box 或其他任何东西需要堆或 std 或 malloc。 我浏览了
我正在尝试使用 GCC 6.1.0 和 rustc 1.11 在 Windows 中使用 C 语言构建一个调用 Rust 函数的最小程序,最好使用 #![no_std] 编译。 0-nightly (
我正在尝试使用rand或rand_core生成随机数。根据the documentation,可以使用#![no_std]启用default-features = false用法。因此,我尝试对ran
在示例中,hs 从 std 重新导出 HashSet。但它编译时没有错误或警告。为什么? #![no_std] pub use hs::HashSet; pub fn new() -> HashSet
在示例中,hs 从 std 重新导出 HashSet。但它编译时没有错误或警告。为什么? #![no_std] pub use hs::HashSet; pub fn new() -> HashSet
this question的所有答案关于将数组从 C 传递给 Rust 使用 std::slice::from_raw_parts将原始 C 指针和一些长度信息转换为 Rust。在嵌入式上下文中(在我
我正在尝试创建一个嵌入友好的可执行文件(占用空间小,不依赖于 Rust 标准库),它使用一个已经支持 no_std 构建的库 (wasmi)。 Rust 的新手,我只是将指令拼凑在一起,但它的要点似乎
我是一名优秀的程序员,十分优秀!