file - 将文件读入盒装切片

标签 file io rust

<分区>

我要用 Rust 做一些分析。因此,我有一个相当大的查找表,它创建一个需要 430,467,210 字节的多维数组。我已经多次尝试将其加载到 Rust 中,但我一直遇到堆栈溢出。最近我了解了如何使用 Box 进行堆分配,并尝试将我的文件读入 boxed slice。它仍然不起作用:

let mut temp_buffer = Box::new([0u8; 430467210]);
move_file.read(&mut *temp_buffer);

最佳答案

盒装数组仍然可以在将数组移动到堆之前临时堆栈分配数组(尤其是在非优化构建中)。为确保从一开始就分配堆,请改用向量:

let mut temp_buffer = vec![0u8; 430467210];
move_file.read(&mut temp_buffer);

关于file - 将文件读入盒装切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41337053/

相关文章:

c - 从C中的文件描述符中检索文件名

android - 在webView android中加载本地html文件

java - 关于通过ByteBuffer写入Char的查询

rust - 当我无法更改打印的代码时,如何捕获 stdout/stderr 的内容?

rust - 如何将 &i32 转换为 f64?

rust - 导入 Rust

C++从数据文件中读取行到某些变量

c - 有没有办法让文件描述符在 Windows 中不被阻塞?

c - getc() 是在返回 EOF 后定义的吗?

java从文件中读取二维数组