rust 相关问题

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

如何从可变 Pin 中获取不可变 Pin?

如何将 &mut 的解引用强制转换为 & 对于封装在 Pin<> 内的引用?即如何借用Pin<&mut _>作为Pin<&_>? 使用 std::pin::{Pin, pin};

回答 1 投票 0

避免使用我的宏将“use foo”放入每个文件中

我有一个定义使用正则表达式板条箱的宏的文件。是否有机会避免使用 regex::Regex;使用我的宏进入所有文件?

回答 1 投票 0

当我在板条箱中使用 Rust 工作区时,Vec 会清除

我最近创建了一个工具,它允许我通过结构名称从代码中的任何位置访问结构。 它的工作方式非常简单,分配足够的空间来容纳所需的str...

回答 1 投票 0

尝试将 YU12 转换为 YUYV,导致图像出现噪声

我正在尝试使用 Rust 库 nokhwa 使用 Android 手机摄像头捕获图像。我已通过 USB 将 Android 手机连接到笔记本电脑,并使用 Droidcam 使其作为网络摄像头使用...

回答 1 投票 0

在 Rust 中调用使用 dlopen() 获得的函数指针时出现段错误

我目前正在使用 Rust 使用 dlfcn.h 中定义的 POSIX 函数,目的是调用单独的 .so 文件中的函数。 该项目实际上包含 2 个 crate: 二进制文件加载

回答 1 投票 0

是否可以让宏扩展为结构体字段?

我想执行以下操作,但该位置的宏似乎不起作用(我收到错误:预期`:`,发现`!`。如何模式匹配单个结构成员并将属性附加到他们

回答 2 投票 0

如何从 char 数组 [char; 转换] N] 到字符串切片 &str?

给定一个固定长度的字符数组,例如: 让 s: [字符; 5] = ['h', 'e', 'l', 'l', 'o']; 我如何获得 &str?

回答 3 投票 0

将父结构传递给Python函数并调用可变父成员时如何避免“PyBorrowMutError”

相关:如何修改传递给python的rust类型,这些类型最初是从Pyo3在python中创建的 我创建了以下目录结构 - Python * 主.py - 源代码 * 库.rs * 货物.toml *

回答 1 投票 0

如何在不同账户中担任角色并使用 AWS SDK 在 Rust 中列出按区域筛选的 ec2 实例?

我已经使用 python 做过很多次了,但在 Rust 中,我很难从假定的角色凭证创建客户端并根据区域过滤 ec2。这是工作的 pytho...

回答 1 投票 0

为什么这个参考模式不取消引用,然后在匹配之前借用?

The Rust Reference 中有一些参考模式的介绍,它说 引用模式取消引用正在匹配的指针 因此,借用它们 所以我尝试写...

回答 1 投票 0

错误:找不到“gobject-sys”板条箱所需的系统库“gobject-2.0”

我尝试在 MacBookPro 上为 GTK3/Rust 应用程序运行 Cargo Run,但收到此错误: 货物:警告=`PKG_CONFIG_ALLOW_SYSTEM_CFLAGS =“1”“pkg-config”“--libs&q...

回答 2 投票 0

如何确保我的类型实现自动特征?

假设我有一个如下结构: 结构体 Foo { foo:盒子, } 与 Copy 等可选择加入的自动特征不同,我无法将 #[derive(Send) 添加到我的结构中以要求编译器选择加入...

回答 2 投票 0

如何确保我的类型实现自动特征?

假设我有一个如下结构: 结构体 Foo { foo:盒子, } 与像 Copy 这样选择加入的自动特征不同,我无法将 #[derive(Send) 添加到我的结构中以要求编译器选择加入,并且

回答 1 投票 0

在 AWS Lambda 中使用 Polars 云存储

我有一个用 Rust 编写的 AWS Lambda,使用 Rust Lambda 运行时。在该 Lambda 中,我想使用 Polars 从 S3 延迟加载 Parquet 文件,并在之前对其执行一些转换

回答 1 投票 0

TokenAccount 没有实现鉴别器

我目前正在深入研究 Solana 区块链上的编程,并开始了一个非常基本的锚程序。在文档中,他们有以下示例 - 请参阅“使用帐户<'a, T...

回答 1 投票 0

不带 AEAD(标签)的 AES-GCM

我正在尝试用 Rust 实现解密服务。 rust-crypto crate 在我的机器(Apple M1 Max)上不起作用,因为符号 _rust_crypto_util_fixed_time_eq_asm 未定义。 刷完之后...

回答 1 投票 0

在 Rust 中静态链接 BFD 会引发错误

我是 Rust 中使用 C 的新手,目前正在尝试使用 BFD 构建二进制加载器。 使用bindgen 生成Rust 绑定非常有效。 在我的 build.rs 中我使用了: println!("货物:生锈...

回答 1 投票 0

使用接受闭包的方法在 Rust 中创建对象安全特征

我想为 Map 创建一个具有以下定义的特征: 酒吧特征图 { fn put(&mut self, k: K, v: V) -> Option; fn upsert...

回答 2 投票 0

在 Rust 中查找 comptime 中的 SIMD 行数

我为点积编写了以下 simd 友好的代码: pub fn scalar_product_simd(a: &[T], b: &[T]) -> T 在哪里 T:乘法 + 求和 + 复制 + 加法 我为点积编写了以下 simd 友好的代码: pub fn scalar_product_simd<T>(a: &[T], b: &[T]) -> T where T: Mul<Output = T> + Sum + Copy + Add<Output = T>, { const CHUNK_SIZE: usize = 4; assert!(a.len() >= CHUNK_SIZE && b.len() >= CHUNK_SIZE && a.len() == b.len()); let mut i = 0; let mut acc = a .chunks_exact(CHUNK_SIZE) .zip(b.chunks_exact(CHUNK_SIZE)) .map(|(aa, bb)| { i += CHUNK_SIZE; aa.iter().zip(bb).map(|(&x, &y)| x * y).sum() }) .sum(); // handle remaining elements acc = acc + scalar_product(&a[i..], &b[i..]); acc } 如何根据编译参数和T类型的大小来设置CHUNK_SIZE值。例如,对于 T:f64 和 AVX2 CHUNK_SIZE 将等于 4 ? 也许有一种正确的方法可以使用 std::simd 重写此代码? 我认为我不完全理解你的问题,但是如果你想根据 CHUNK_SIZE 的类型拥有不同的常量 T 值,并且你想要支持的 T 数量有限,你可以创建一个辅助特征。 trait SimdHelper { const CHUNK_SIZE: usize; } impl SimdHelper for f64 { const CHUNK_SIZE: usize = 4; } pub fn scalar_product_simd<T>(a: &[T], b: &[T]) -> T where T: Mul<Output = T> + Sum + Copy + Add<Output = T>, T: SimdHelper, { const CHUNK_SIZE: usize = <T as SimdHelper>::CHUNK_SIZE; ... }

回答 1 投票 0

如何从 Rust Ring Digest 获取摘要字符串格式结果

我正在使用 rustring(ring = "0.16.20") 来获取消息摘要,这是我的代码: 使用ring::{摘要,测试}; fn 主() { 让实际 = 摘要::摘要(&摘要::SHA512, b"你好, ...

回答 2 投票 0

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