总结一下最近Rust
学习中关于创建可执行程序的三种方式:
第一种方式
直接用cargo
来创建可执行项目,如下:1cargo new multi_bins
该命令将创建名字为multi_bins
的可执行程序项目。项目目录结构如下:
其中的main.rs
文件为可执行程序的源码文件,它包含了main
函数,其简单输出一句"Hello, world!"
执行如下命令将编译得到可执行程序:1cargo build --release
可执行文件创建成功后,其路径为:
执行该程序
第二种方式
在src
目录下创建bin
目录
然后在bin
目录下创建包含main
函数的源码文件。可以创建多个这样的文件,例如创建如下两个文件:
可以直接用cargo run --bin
来运行这两个可执行程序。实际上是在target/debug
下生成这两个文件的可执行程序并且运行它们
也可以编译得到可执行文件:
第三种方式
在Cargo.toml
文件中进行配置,指定可执行程序的名称以及它的源码路径。这种方法可以使得可执行程序的源码既不是main.rs
,也不需要放置于src/bin
目录下,还可以随意指定它的名字。
执行如下构建命令:
生成可执行文件如下:
总结
上述三种方式中,第一种是最常用的,它是Rust的默认方式,main.rs
默认为可执行项目的执行程序源码,main
函数就是其入口。第二种方式把所有可执行程序的源码都放置到src/bin
目录下,Cargo
编译项目的时候会将这个目录下所有的包含main
函数的源码文件都编译成和源码文件同名的可执行程序。第三种方式是最灵活的,它可以在Cargo.toml
里进行灵活的配置,使得可执行程序的名称与它的源码路径解耦;从另一个角度来说这种方式使得可执行程序源码可以不必一定是src/main.rs
或src/bin/
中的包含main
函数的文件。