如何运行 Rust 项目的示例

use*_*874 7 rust rust-cargo

1/ 我碰巧在这个 repo https://github.com/0xProject/OpenZKP 中运行示例

一个例子的方法之一是

cargo run --release --example small_fib
Run Code Online (Sandbox Code Playgroud)

我只是很好奇为什么我们可以small_fib在根目录下运行示例,即使示例 small_fib 位于子目录项目中,因为此 repo 由多个项目组成。

2/ 另一个问题是该small_fib示例没有在 Cargo.toml 的示例部分中指定,但我们可以使用

cargo run --release --example small_fib
Run Code Online (Sandbox Code Playgroud)

Sun*_*eef 5

要回答您的第一个问题,该crypto/stark文件夹将添加到workspace根目录的Cargo.toml. 请参阅Cargo 手册了解本节的工作原理:

每当工作区中的任何 crate 被编译时,输出都会放置在工作区根中(即,在根 crate 的 Cargo.toml 旁边)。

关于第二个问题,该small_fib.rs文件被放置在在examples的文件夹中crypto/stark。可以直接运行作为例子。我发现这篇文章对 Rust 示例非常有用。

重要的是您不必再担心如何处理您的示例代码。你需要做的就是把它放到 examples/ 目录中,剩下的交给 Cargo 去做。