< 返回版块

2019-03-21 00:17    责任编辑:Mike

Rust 的运行时(每个 Rust 程序要运行都要带的一套东西)很小,这意味着 Rust 运行时本身提供不了多少功能,这也意味着每一个 Rust 程序启动时不会加载大量无用的东西,启动速度很快,也不会占用大量无用的内存。也使得 Rust 编写的程序,可以在硬件受限的设备(嵌入式,物联网)上运行。

作为一个系统级新语言,Rust 不但要能自己解决问题,还要能与外界交互。交互体现在两方面:

  1. 能够通过 FFI 标准调用外部的库
  2. 能够通过 C ABI 为其它语言写库

而一个小的运行时,特别有利于使用 Rust 为其它语言编写(加速)库来使用。

Rust 能够编译出与 C 库完全一样的库,这个特性非常诱人。也就是说,你拿到了一个 .so 或 .dll 文件和对应的接口文档,你可以在任何语言中按 ffi 标准使用它,而并不知道它是 C 写的还是 Rust 写的。这样就又大大拓展了 Rust 的使用面。Rust 不再是一个妄想现实颠覆者,她与既得利益者是能够和平共处,相得益彰的。