Rust程序编译与运行

9,072 阅读4分钟

这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

Hello World

学习任何一门编程语言,都要仪式性的输出hello world,现在就来看一下如何使用Rust输出hello world吧!

Rust程序开发基本常识

  • 程序源代码文件后缀名为.rs
  • 程序文件命名规范为小写字母加下划线,比如hello_world.rs
// hello world.rs
fn main() {
    println!("hello world");
}
// fn 表示函数
// main 表示函数名,()内是参数
// {}内是函数体代码
// 代码以分号结束
// 程序代码缩进是4个空格

Rust程序的编译和运行

rustc

  • 编译
rustc xxx.rs
# c表示compile(编译)的意思
  • 运行
# windows
./xxx.exe
# linux/mac
./xxx
  • 编译和运行是单独的两步
① 运行Rust程序之前必须先编译,`rustc 程序文件名`,比如:`rustc main.rs`
② 编译成功后会生成一个二进制文件,在Windows系统上以`.exe`结尾,在Linux/mac上没有后缀,在Windows上还会生成一个`.pdb`文件,里面包含程序的调试信息
③ Rust是一种预编译(ahead of time)的语言,可以先编译程序,然后把可执行文件交给别人运行(无需安装Rust)
④ rustc实际上只适合简单的Rust程序,更复杂大型的程序就需要用到cargo

cargo

验证cargo 是否安装成功

cargo 是Rust的构建系统和包管理工具,能够构建项目代码、下载依赖库、构建库,在安装Rust时会自动安装cargo , 判断cargo 是否正确安装的方法就是在命令行中输入下述命令:

cargo --version
# 如果结果是酱紫的就是安装成功了:cargo 1.56.0 (4ed5d137b 2021-10-04)

使用cargo 创建项目

如何使用cargo 创建项目呢?就是使用下述命令:

# cargo new 项目名称
cargo new hello_cargo

使用cargo 创建项目成功后,项目目录结构如下(如果使用VSCode并安装了rust相关插件,可能会出现target目录和Cargo.lock文件)。

cargo生成的main.rssrc目录下,源代码都应该放在src目录下,顶层目录可以放置README、许可信息、配置文件和其他与程序无关的文件; 如果创建项目时没有使用cargo,也可以将项目转化为使用cargo,方法就是把源代码文件移动到src目录下,创建Cargo.toml并填写相关配置。

hello_cargo[项目顶级目录]
----src[放程序源代码]
	----main.rs
----.gitignore[初始化了git仓库]
----Crago.toml

Cargo.toml 介绍

toml (Tom's Obvious, Minimal Language)格式,是Cargo 的配置格式。

[package]  # 区域标题,表示下方内容是用来配置包的,需要注意的是,在rust中,代码的包或者库称作crate
name = "hello_cargo"  # 项目名
version = "0.1.0"  # 项目版本
edition = "2021"  # 使用的rust版本

[dependencies]  # 另一个区域的开始,在这一个区域中会列出项目的依赖项

cargo build 构建项目

cargo build 命令会创建一个可执行文件,文件所在目录如下,可执行文件创建成功后就可以运行可执行文件了。

# windows目录
target\debug\hello_cargo.exe
# linux/mac目录
target\debug\hello_cargo

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

cargo run 构建和运行cargo 项目

cargo run 命令是对代码进行编译和执行,将编译和执行这两步合成一步,如果项目之前编译成功过并且源代码没有变化,那么再次运行cargo run 命令时就会直接运行二进制文件,而不会重复进行编译。

image-20211101180935407

cargo check

该命令可以用来检查代码,确保能够通过编译,但是不产生任何可执行文件,该命令比cargo build 命令快的多,在编写代码的时候可以连续反复的使用cargo check 检查代码提高开发效率。

为发布构建cargo build --release

如果程序开发完成准备正式发布给用户时,就需要使用cargo build --release,该命令会进行优化,优化后代码运行的更快,但是编译的时间更长。

使用该命令构建的可执行文件会在targe/release目录下而不是在target/debug目录下。

总结

说了这么多就是建议在做的XDM使用cargo 进行项目创建、构建和发布。

结语

文章首发于微信公众号程序媛小庄,同步于掘金

码字不易,转载请说明出处,走过路过的小伙伴们伸出可爱的小指头点个赞再走吧(╹▽╹)