设计三个文件,分别是mod test1,test2,test3,
这三个文件将编译成一个库,提供给其他crate使用。
test1.rs#![crate_type = "lib"]mod test2;
mod test3;
pub fn name1() {println!("this is test1 name");::test2::name2();}
test2.rs mod test3;
pub fn name2() {println!("this is test2 name");::test3::name3();}
test3.rs:pub fn name3() {println!("this is test3 name");}
rustc
test1.rs 生成库文件:
libtest1-bbdcc1d8-0.0.rlib 然后编写一个使用该库的crate,
t1.rst1.rsextern crate test1;
use test1::name1;
fn main()
{
::test1::name1();
}
得到正确的结果: