rust的官网 https://www.rust-lang.org/
1. 安装、卸载rust
windows环境
下载windows安装包
双击后进入命令行安装,按照提示输入数字选项安装即可。
如果系统中缺少c++的库,会提示先安装visual studio。
linux or MAC:
curl https://sh.rustup.rs -sSf | sh
Windows Subsystem for Linux:
curl --proto '=https’ --tlsv1.2 -sSf https://sh.rustup.rs| sh
更新/卸载
# 更新
rustup update
# 卸载
rustup self uninstall
验证安装结果
启动命令行窗口,输入
rustc --version
rustc 1.72.0 (5680fa18f 2023-08-23)
结果格式:rustc x.y.z (abcabcabc yyyy-mm-dd)
显示最新稳定版的:版本号、commit hash、commit 日期
查看本地文档
rust同时会安装上本地帮助文档,便于离线浏览。
运行rustup doc可跳转到浏览器打开本地文档。
可用的开发工具:vs code / clion + 各自的rust插件即可
2. 测试hello world
创建源文件hello_world.rs,文件后缀是.rs。
fn main() { // 定义主函数,无参无返回值,程序入口
println!("hello world"); // 4个空格,println!是一宏,不是函数,分号结尾
}
编译 rustc hello_world.rs会生成可执行文件,在命令行运行即可打出hello world。
在windows下还会生成一个.pdb文件,是一调试信息文件。
rust语言是一种静态编译的语言,即目标可执行文件是指令级二进制的,目标机器可不用安装rust。
3. cargo工具
上面安装rust时会自动安装上cargo,它是rust的构建系统和包管理工具,负责构建代码、下载依赖库、构建并启动运行等。
一样的,在命令行输入cargo --version查看是否成功。
> cargo --version
cargo 1.72.0 (103a7ff2e 2023-08-15)
使用cargo创建项目
使用命令 cargo new 项目名称
cargo new hello_cargo
执行后自动创建了一个项目文件夹,含以下文件
+--- .gitignore # 这是因自动初始化了一新的git仓库,并创建ignore文件
+--- Cargo.toml # 配置文件,用于配置依赖库等信息,配置后cargo在编译时会自动去下载依赖库
+--- src
| +--- main.rs # 主函数文件,里边已一hello world程序,可直接编译运行
注:如果不使用VCS,要使用--vcs选项,命令cargo new --vcs hello_cargo
- Cargo.toml的内容
其中.toml含义:Tom's Obvious, Minimal Language,cargo的配置格式。
[package] # 一个区域标题,表示下方内容是用来配置包(package)的
name = "hello_cargo" # 项目名
version = "0.1.0" # 项目版本
edition = "2021" # 使用的rust版本
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] # 另一个区域开始,dependencies区域
# 所有依赖添加在这里,比如如下配置
rand = "^0.3.14" # 引入依赖rand库(crate),版本是0.3.14,^表示只要与0.3.14兼容版本皆可
- src/main.rs的内容
fn main() {
println!("Hello, world!");
}
顶层目录可放置README、许可信息、配置文件、其它与程序源码无关的文件
如果创建项目时未使用cargo,也可转换成cargo,只需
- 将所有源文件移动到src下
- 创建出一个Cargo.toml文件
cargo build 构建项目,会在target/debug/目录下生成可执行文件hello_cargo / hello_cargo.exe
第一次运行会在顶层目录生成cargo.lock文件,用于追踪项目依赖的精确版本,无需手动修改。
cargo run 构建并运行项目,若之前已编译成功且无修改,则会直接运行二进制。
cargo check 检查代码,确保能编译通过,但不生成可执行文件。比cargo build快,提高效率。
cargo build --release 用于编译发布版本,编译时进行优化,编译耗时更长,会在target/release下生成可执行文件。
标签:cargo,01,rs,--,试用,world,hello,rust,搭建 From: https://www.cnblogs.com/UFO-blogs/p/17752043.html