Rust 库板条箱中多个可执行文件的文件布局
我想用两个二进制板条箱和一个包含共享代码的库创建一个rust包。我知道如何将二进制文件的源文件放在Rust 库板条箱中多个可执行文件的文件布局,rust,rust-cargo,Rust,Rust Cargo,我想用两个二进制板条箱和一个包含共享代码的库创建一个rust包。我知道如何将二进制文件的源文件放在src/bin/子目录(例如src/bin/firstbin.rs和src/bin/secondbin.rs)中,并将库代码放在src/或src/lib/中 但是,如果二进制文件中有大量不属于库的非共享代码,并且我想将它们的源代码拆分为多个文件,那么我不确定如何布局源文件。我在考虑对只属于第一个二进制文件的文件使用src/bin/firstbin/,对第二个二进制文件使用src/bin/second
src/bin/
子目录(例如src/bin/firstbin.rs
和src/bin/secondbin.rs
)中,并将库代码放在src/
或src/lib/
中
但是,如果二进制文件中有大量不属于库的非共享代码,并且我想将它们的源代码拆分为多个文件,那么我不确定如何布局源文件。我在考虑对只属于第一个二进制文件的文件使用src/bin/firstbin/
,对第二个二进制文件使用src/bin/secondbin/
。但是,我不确定如何从firstbin.rs
和secondbin.rs
引用这些文件
这是正确的方法吗?如果是,我如何引用这些文件?如果没有,最好的布局是什么?您可以将
fn main()
放入src/bin/firstbin/main.rs
并在同一目录中为子模块添加更多文件。这在《货物手册》中有记录(在文本中,灰色框是错误的)。是否只有一个包装是必需的?如果我是你,我会用不同的板条箱。我对生锈还不熟悉,所以我还在想最好的方法。不过,将其拆分为多个包似乎有些过分。代码密切相关,我希望它能够保持在一起。例如,我希望所有内容都在一个git存储库中。很明显,在一个包中需要多个二进制文件,因此支持src/bin目录中的多个源文件,但如果它们只是单个文件,则似乎非常有限,除非您有非常大的文件。如果可能的话,我更喜欢将源文件限制在不超过100到200行。在一个项目中可以有几个板条箱(包):IMO,当所有工作完成后,二进制文件的唯一功能是调用库时,在一个板条箱中混合使用库和二进制文件非常有用。对于一个更复杂的项目,最好将其分在不同的板条箱中。哇!这有点让我不知所措-我的Cargo.toml文件都不到10行!分为不同的板条箱,是指不同的包装吗?如果你选择几个板条箱,请查看工作区:谢谢-这正是我要找的。我能问一下你为什么编辑我问题的标题吗?我认为这不太正确,因为我特别询问了一个包装中的三个板条箱:一个图书馆板条箱和两个二进制板条箱。可执行文件不在库板条箱中-它们是包中的板条箱。不要对板条箱和包太挑剔,大多数人总是使用板条箱。我将不得不检查手册中何时添加了DiscTINTION,这对我来说是最近的事(但我可能错了)。