不安全操作

    • 解引用裸指针
    • 通过 FFI 调用函数(这已经在介绍过了)
    • 调用不安全的函数
    • 内联汇编(inline assembly)

    调用不安全函数

    1. let some_vector = vec![1, 2, 3, 4];
    2. let pointer = some_vector.as_ptr();
    3. let length = some_vector.len();
    4. let my_slice: &[u32] = slice::from_raw_parts(pointer, length);
    5. assert_eq!(some_vector.as_slice(), my_slice);
    6. }
    7. }