摘要: 使用extern函数设用外部代码 有时我们的Rust代码可能需要与其它语言编写的代码交互。为此Rust有一个关键字,extern,有助于创建和使用 外部函数接口(Foreign Function Interface, FFI)。外部函数接口是一个编程语言用以定义函数的方式,其允许不同(外部)编程语言 阅读全文
posted @ 2021-10-09 23:46 johnny_zhao 阅读(1342) 评论(0) 推荐(0) 编辑
摘要: 我们到目前为止讨论过的代码都有Rust在编译时会强制执行的内存安全保证。然而,Rust还隐藏有第二种语言 ,它不会强制执行这类内存安全保证:这被称为 不安全Rust (unsafe Rust)。它与常规Rust代码无异,但是会提供额外的超能力。 尽管代码可能没问题,但如果Rust编译器没有足够的信息 阅读全文
posted @ 2021-10-09 21:00 johnny_zhao 阅读(765) 评论(0) 推荐(0) 编辑
摘要: dyn是trait对象类型的前缀 dyn关键字用于强调相关trait的方法是动态分配的。要以这种方式使用trait,它必须是“对象安全”的。 与泛型参数或植入型特质不同,编译器不知道被传递的具体类型。也就是说,该类型已经被抹去。因此,一个dyn Trait引用包含两个指针。一个指针指向数据(例如,一 阅读全文
posted @ 2021-10-09 12:37 johnny_zhao 阅读(8868) 评论(0) 推荐(0) 编辑