接上一篇所讲,rustc只能编译简单的Rust程序,如果编译复杂的项目,就要使用Cargo。Cargo是Rust的构建系统和包管理工具,它能构建代码,下载依赖库,然后也能构建这些库。 

在安装Rust的时候,就已经自动把Cargo安装了,使用下面的命令可以知道Cargo是否已经安装

        cargo --version

可以看到版本号和发布时间等信息

我们可以试一下用Cargo来创建一个项目,命令如下

        cargo new 项目名称

比如创建一个名为“hello_cargo”的项目,那就是: cargo new hello_cargo,如下图所示,就是创建成功了

用vscode打开后可以看到以下文件

由于我的vscode装了插件,所以自动编译了,生成了target的文件夹,正常情况下,使用cargo创建项目后,会创建一个新的目录,目录名称和项目名一样,目录里面有一个Cargo.toml文件,还有一个src目录,是放源代码的,同时还会生成一个main.rs的源文件,里边有main函数,然后还初始化了一个新的git仓库, .gitignore这个文件。

Cargo.toml文件,toml是Tom's Obvious,Minimal Language格式,也就是Cargo的配置格式,期中,[pacakge]是一个区域标题,表示下方内容是用来配置包的

name是项目的名称

version是项目版本的意思

edition是使用的Rust版本

[dependencies]呢,是另一个区域的开始,它会列出项目的依赖项,这里暂时没有依赖项,所以下边就是空的

这里需要注意一下的是,使用Cargo创建的项目,源代码都应该放在项目目录下的src目录里,Cargo.toml在项目顶层下,顶层目录可以放一些README,配置文件和其他与程序源码无关的文件。如果创建项目时没有使用Cargo,也可以把项目转换成使用Cargo的形式:

1.把源码文件移动到src目录下

2.创建Cargo.toml并填写相对应的配置

构建Cargo项目

使用cargo build命令,可以生成一个可执行文件

如果是Linux系统或者Mac系统,那可执行文件的路径就是: target/debug/项目名

如果是Windows系统,路径就是:target\debug\项目名.exe

如果要运行该执行文件,命令如下:

Linux系统或者Mac系统,命令为: ./target/debug/项目名

Windows系统,命令为:.\target\debug\项目名.exe或者.\target\debug\项目名

第一次运行cargo build会在顶层目录生成一个cargo.lock文件,这个文件负责追踪项目依赖的精确版本,而且不需要手动修改,也不要手动去修改该文件

上面的cargo build命令,其实只是构建了项目,你还需输入.\target\debug\项目名.exe才会运行该项目,比较麻烦,那么可以使用cargo run这个命令,它是编译代码 + 运行的操作,如果项目之前已经成功编译过,而且源码也没有改变,输入cargo run这个命令则会直接运行,而不会再次重新编译

代码检查

        cargo check

这个命令是检查代码,确保代码能通过编译,但不会产生可执行的文件,而且它要比 cargo build快得多,所以在编写代码的时候,可以反复使用cargo check来检查代码,保证程序能通过编译,提高效率

另一种构建

默认情况下,cargo build这个命令是用于开发、调试的,如果程序已经编写完成,要正式发布了,就应该使用这个命令:

        cargo build --release 

这个命令会在编译的时候进行优化,代码会运行得更快,但编译的时间会更长。然后使用该命令,生成的可执行文件是在target/release目录下,而不是在target/debug目录下

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: