小编hel*_*net的帖子

为什么 Rust 原生库在调用函数时会随机崩溃?

在 Rust 中,我有一个压缩数组的函数:

fn create_bitvec(data: Box<[u8]>) -> [u8; 49152] {
    let mut bit_vector = [0u8; 49152];
    for (index, &value) in data.iter().enumerate() {
        let byte_index = (index * 4) / 8;
        let bit_index = (index * 4) % 8;
        let value_mask = 0b00001111 << bit_index;
        let shifted_value = (value << bit_index) & value_mask;
        bit_vector[byte_index] &= !value_mask;
        bit_vector[byte_index] |= shifted_value;
    }
    debug!("made it here. {:?}", bit_vector);
    bit_vector
}
Run Code Online (Sandbox Code Playgroud)

(很抱歉,如果函数的实现不好,但这不是这里的具体问题)。

该函数的使用方式如下:

pub fn create(data: Box<[u8]>) -> Chunk {
    assert_eq!(data.len(), FULL, "Data length doesn't …
Run Code Online (Sandbox Code Playgroud)

java crash rust jnr

2
推荐指数
1
解决办法
85
查看次数

标签 统计

crash ×1

java ×1

jnr ×1

rust ×1