0

Rust 构建工具 cargo

 1 year ago
source link: https://xugaoxiang.com/2022/12/16/rust-cargo/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
  • windows 10 64bit

前面我们已经安装好了 Rust 的开发环境,在这个过程中,cargo 也一起被安装了,可以通过 cargo --version 来检查

40c5d97a50cd1833.png

cargoRust 工具链中内置的构建工具以及包管理器,它可以帮助我们构建代码、下载编译管理依赖库,也是目前比较推荐的 Rust 项目管理工具。

我们进入 powershell,使用 cargo 来创建一个新的项目

cargo new HelloWorld

19ded188dd5dcc67.png

命令执行成功后,项目就创建好了,项目名称和文件夹名称都是 HelloWorld,进入目录 HelloWorld,文件夹结构是这样的

213e0fecb894725c.png

源码部分放在了 src 目录,项目配置文件 Cargo.toml,与此同时,还初始化了一个新的 git 仓库,并提供了一个默认的 .gitignore 文件。

下面来看看项目配置 Cargo.tomlcargo 使用标准的 TOML 配置文件格式,TOMLTom's Obvious, Minimal Language 的缩写

9f6b79f1bf9e2411.png

其中,[] 内的是区域标签,如本项目中的 packagedependencies,在 package 标签下有程序名、版本号及作者信息,因为本项目非常简单,没有依赖到第三方的库,所以 dependencies 是空的

接下来,使用 cargo 来构建和编译

cd HelloWorld
cargo build
86ae81676c9c4878.png

结束后,生成的可执行文件存储在 target/debug/HelloWorld.exe,在 powershell 中执行可以得到结果

834256147dfccd47.png

在项目构建时,根目录会生成一个文件 Cargo.lock

726a56f1599975bf.png

这个文件最好不要手动去编辑,它会自己维护,记录的是项目中所有依赖库的版本号。

除了可以直接执行生成的 exe 文件外,我们还可以通过 cargo 来运行,命令是 cargo run

eadf42753bf96540.png

这里说明一下,当执行过 cargo build 后,cargo run 就不会再次去编译了,这是因为源码并没有被更改,因此就直接去执行了

如果这时候,我们去修改一下 main.rs,修改下输出语句,然后执行 cargo run

70e7afb8ebe48f2b.png

这时候的输出信息就不一样了,源码也被重新编译了

还有个非常有用的命令是 cargo check,它能够快速检查当前的代码能够被正常编译,而不需要去执行它。

bf388235db06ee80.png

可以看到,默认 cargo 都是以 debug 的模式进行构建的,里面会包含很多的调试信息,如果要正式发布的话,可以跟上参数 --release

cargo run --release
15efa06dd253bb35.png

对应的,生成的 exe 文件就被放到了 target/release 目录下了


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK