Rustler 开源项目教程
rustler项目地址:https://gitcode.com/gh_mirrors/rus/rustler
1. 项目的目录结构及介绍
Rustler 项目的目录结构如下:
rustler/
├── Cargo.toml
├── README.md
├── build.rs
├── native/
│ ├── Cargo.toml
│ ├── build.rs
│ ├── src/
│ │ ├── lib.rs
│ │ └── ...
├── priv/
│ └── ...
├── src/
│ ├── lib.rs
│ └── ...
└── ...
目录结构介绍
Cargo.toml
: Rust 项目的包管理文件,定义了项目的依赖和元数据。README.md
: 项目说明文档,包含项目的基本信息和使用指南。build.rs
: 构建脚本,用于在编译过程中执行一些自定义操作。native/
: 包含 Rust 代码的目录,用于编写与 Elixir 交互的 Rust 代码。Cargo.toml
: Rust 子项目的包管理文件。build.rs
: Rust 子项目的构建脚本。src/
: Rust 代码的源文件目录。lib.rs
: Rust 库的入口文件。
priv/
: 存放编译后的 Rust 库文件。src/
: Elixir 代码的源文件目录。lib.rs
: Elixir 项目的入口文件。
2. 项目的启动文件介绍
Rustler 项目的启动文件是 src/lib.rs
。这个文件是 Elixir 项目的入口文件,负责加载和初始化 Rust 代码。
src/lib.rs
文件介绍
// src/lib.rs
#[rustler::nif]
fn add(a: i64, b: i64) -> i64 {
a + b
}
rustler::init!("Elixir.MyModule", [add]);
#[rustler::nif]
: 宏定义,用于将 Rust 函数暴露给 Elixir。fn add(a: i64, b: i64) -> i64
: 一个简单的 Rust 函数,用于两个整数相加。rustler::init!("Elixir.MyModule", [add])
: 初始化 Rustler,将 Rust 函数绑定到 Elixir 模块。
3. 项目的配置文件介绍
Rustler 项目的配置文件主要包括 Cargo.toml
和 native/Cargo.toml
。
Cargo.toml
文件介绍
[package]
name = "rustler_example"
version = "0.1.0"
edition = "2018"
[dependencies]
rustler = "0.21.0"
[lib]
crate-type = ["dylib"]
[package]
: 定义项目的基本信息,如名称、版本和 Rust 版本。[dependencies]
: 定义项目的依赖,如rustler
。[lib]
: 定义库的类型,如dylib
。
native/Cargo.toml
文件介绍
[package]
name = "rustler_example_native"
version = "0.1.0"
edition = "2018"
[dependencies]
rustler = "0.21.0"
[lib]
crate-type = ["dylib"]
[package]
: 定义 Rust 子项目的基本信息。[dependencies]
: 定义 Rust 子项目的依赖。[lib]
: 定义 Rust 子项目的库类型。
以上是 Rustler 开源项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用 Rustler 项目。