rust 相关问题

Rust是一种用于以简单方式编写高度可靠和快速软件的语言。它可用于从高级代码到特定于硬件的代码,从大型熨斗到小型设备。

抑制 tokio 跟踪订阅者中的外部库日志

注意 - 这与如何关闭其他板条箱发出的跟踪事件不重复?。建议的问题答案是过滤其他板条箱发出的所有日志,但是这个问题是为了......

回答 1 投票 0

通过原始套接字发送时向数据包添加额外字节

描述 我目前正在尝试通过 Rust 中的原始套接字发送数据包。我目前正在使用 libc 来管理套接字。 我已经成功发送数据包,但发送的数据包从来都不是...

回答 1 投票 0

TcpStream 在 read_to_string 上被阻止

代码 我有一个客户端(a.rs)和一个服务器(b.rs): // a.rs 使用标准::{ io::{读、写}, 网::TcpListener, }; fn 主() { 让监听器 = TcpListener::bind("0.0.0.0:6400").u...

回答 1 投票 0

为什么与闭包一起使用时不会发生重借?

示例如下: fn bar(v: &mut Vec) { 栏(v); //重借 栏(v); //重借 } 编译得很好。但考虑稍微修改的版本: fn foo(v: &...

回答 1 投票 0

像“f64::from_str”一样准确地计算“n * 10^p”?

我有两个值:n: f64 和 p: i32,我需要计算 n * 10^p。 我尝试了两种方法: 使用乘法和 f64::powi 使用 format!() 和 f64::from_str 后者更准确(参见...

回答 2 投票 0

如何获取&str的最后一个字符?

在Python中,这将是final_char = mystring[-1]。我怎样才能在 Rust 中做同样的事情? 我努力了 mystring[mystring.len() - 1] 但我收到错误:类型“str”无法由“usize”索引

回答 4 投票 0

将 Vec<u8> 包装到某个东西上,这将实现 BufRead + Seek

我想使用 sdp crate 解析我存储在 Vec 中的 SDP 消息。我发现这个函数可以做到这一点: pub fn unmarshal(读者:&mut R)->结果 在哪里 ...

回答 1 投票 0

具有简单中缀运算符 (%) 的宏规则

我正在尝试定义一个非常简单的宏,以便对 serde_json::Value 对象进行更符合人体工程学的处理。在我让这个基本的操作符工作之后,我想随着时间的推移添加更多的操作符: // 需要 `st:

回答 1 投票 0

有没有办法在编译时检测到我没有填充这些结构体的所需字段?

我在 Rust 应用程序中使用如下结构: pub 结构发票 { 酒吧 ID:Uuid, 酒吧数量:i64, 酒吧行:Vec, 酒吧公司:选项>, ...

回答 1 投票 0

sqlx 左连接和可选类型

sqlx query_as 宏似乎存在左连接和空值问题 以下查询与 query_as 一起使用 选择 汽车。*, Vehicle_make.name 作为 make_name, 车辆型号.名称...

回答 1 投票 0

rustc/cargo 未被识别为内部或外部命令

在我的 Windows 7 计算机上安装 rust 后,我决定在 vscode 中的名为 main.rc 的文件中运行一个简单的 hello world 程序,但将以下代码放入终端 rustc main.rc 为了...

回答 5 投票 0

如何创建可以引用不同静态字符串的静态变量?

我刚刚开始了解 Rust。作为练习,我尝试在 Rust 中重新创建 strtok() 。然而我坚持纠正类型.. 这是我所拥有的(现场演示): fn strtok(str: 选项&l...

回答 1 投票 0

如何检查一个路径是否是另一个路径的子目录?

我想检查一个路径是否是另一个路径的子目录: 使用 std::path::Path; 让路径 = Path::new("/foo/bar/"); 让孩子 = Path::new("/foo/bar/baz"); 断言_eq!(

回答 2 投票 0

如何使用 pyo3 在 Rust 中返回 numpy 数组?

我正在做一个Python项目,需要一点速度提升,所以我让Rust来做一些繁重的工作。我的项目需要的是我可以接受一个 numpy 数组,将其转换为 rust ...

回答 1 投票 0

有内存_order_seq_cst的现实例子吗?

在大多数情况下,似乎Release-Acquire排序就足够了,那么有没有现实生活中的例子,你只能使用memory_order_seq_cst?(和Ordering::SeqCst,因为rust共享相同的内存顺序...

回答 1 投票 0

由于 rustc 版本问题,无法使用 `anchor build` 命令构建 Solana NFT 程序

我正在Solana区块链的Anchor框架中编写一个NFT程序。 但是,当我尝试使用锚构建命令构建程序时,总是会出现错误。 错误是: 错误:

回答 2 投票 0

在每个元素的基础上增加迭代器的大小/扩展和映射迭代器

我试图找到或实现一种适用于任何迭代器的方法,它允许我迭代所有元素,并为每个元素创建多个新元素,然后这些新元素成为旧元素的一部分

回答 1 投票 0

在 Rust 中反转双向链表

我有以下双向链表的实现 -> 结构节点 { 值:T, 下一个: 选项>>>, 上一篇: 选项 我有以下双向链表的实现 -> struct Node<T> { value: T, next: Option<Rc<RefCell<Node<T>>>>, prev: Option<Weak<RefCell<Node<T>>>>, } impl<T> Node<T> { fn new(value: T) -> Self { Node { value, next: None, prev: None, } } } impl<T> From<Node<T>> for Option<Rc<RefCell<Node<T>>>> { fn from(node: Node<T>) -> Self { Some(Rc::new(RefCell::new(node))) } } type NodePtr<T> = Rc<RefCell<Node<T>>>; pub struct DoublyLinkedList<T> { head: Option<NodePtr<T>>, tail: Option<NodePtr<T>>, } 但是,我很难实现反转链表的算法。 我试过了 pub fn reverse(&mut self) { let mut current_node = self.head.clone(); while let Some(current) = current_node { let mut current_borrowed = current.borrow_mut(); std::mem::swap(&mut current_borrowed.next, &mut current_borrowed.prev); current_node = current_borrowed.prev.upgrade(); } std::mem::swap(&mut self.head, &mut self.tail); } 但这不起作用,因为 current_borrowed.prev 是 Option<Weak<RefCell<Node<T>>>>,而且我无法升级或降级 current_borrowed.next。 您不能直接交换 next 和 prev 成员,因为它们不具有相同的类型。 但是,我们可以逐步交换,获取这些选项的内容(保留None),并在重新分配之前根据需要执行升级/降级。 pub fn reverse(&mut self) { let mut current_node = self.head.clone(); while let Some(current) = current_node { let mut current_borrowed = current.borrow_mut(); let next = current_borrowed.next.take(); let prev = current_borrowed.prev.take(); if let Some(prev) = prev { current_borrowed.next = Some(prev.upgrade().unwrap()); } if let Some(next) = &next { current_borrowed.prev = Some(Rc::<RefCell<Node<T>>>::downgrade(next)); } current_node = next; } std::mem::swap(&mut self.head, &mut self.tail); } 您还可以重复从该列表的尾部弹出并追加到新列表的尾部,然后交换两个列表。

回答 1 投票 0

为具有生命周期的类型实现借用特征

我正在尝试使用。我的程序中的“键”的强类型包装器,这样我就不会将任意字符串误认为是键。我有: #[导出(调试、克隆、PartialEq、Eq、哈希)] 结构键(...

回答 2 投票 0

到底什么时候触发“错误[E0793]:对打包字段的引用未对齐”?

我已经在这个问题上用头撞墙有一段时间了。上下文是我正在尝试为 8 位 AVR 处理器构建一个嵌入式 VM,但问题并非特定于 AVR。 她...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.