首页 文章

将文件读入盒装切片[重复]

提问于
浏览
1

这个问题在这里已有答案:

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

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

1 回答

  • 3

    盒装数组在将数组移动到堆之前仍然可以临时堆栈分配(特别是在非优化的构建中) . 要确保从开始分配堆,请使用向量:

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

相关问题