首页 > 解决方案 > 如何运行 rust 项目的示例

问题描述

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

举个例子的方法之一是

cargo run --release --example small_fib

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

2/ 另一个问题是该small_fib示例未在 Cargo.toml 的示例部分中指定,但我们可以执行它

cargo run --release --example small_fib

标签: rustrust-cargo

解决方案


为了回答您的第一个问题,该crypto/stark文件夹被添加到workspace根目录的Cargo.toml. 有关此部分的工作原理,请参阅Cargo 手册:

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

对于您的第二个问题,该文件small_fib.rs位于. 可以直接作为示例运行。我发现这篇文章对 Rust 示例提供了非常丰富的信息。examplescrypto/stark

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


推荐阅读