Rust 教程
1. Rust 教程 2. Rust 环境搭建 3. Cargo 教程 4. Rust 输出到命令行 5. Rust 基础语法 6. Rust 数据类型 7. Rust 注释 8. Rust 函数 9. Rust 条件语句 10. Rust 循环 11. Rust 所有权 12. Rust Slice(切片)类型 13. Rust 结构体 14. Rust 枚举类 15. Rust 组织管理 16. Rust 错误处理 17. Rust 泛型与特性 18. Rust 生命周期 19. Rust 文件与 IO 20. Rust 集合与字符串 21. Rust 面向对象 22. Rust 并发编程

Cargo 教程

Cargo 教程

Cargo 是什么

Cargo 是 Rust 的构建系统和包管理器。

Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。在上个教程中我们曾使用 cargo new greeting 命令创建了一个名为 greeting 的工程,Cargo 新建了一个名为 greeting 的文件夹并在里面部署了一个 Rust 工程最典型的文件结构。这个 greeting 文件夹就是工程本身。

Cargo 功能

Cargo 除了创建工程以外还具备构建(build)工程、运行(run)工程等一系列功能,构建和运行分别对应以下命令:


cargo build 

cargo run 

Cargo 还具有获取包、打包、高级构建等功能,详细使用方法参见 Cargo 命令。

在 VSCode 中配置 Rust 工程

Cargo 是一个不错的构建工具,如果使 VSCode 与它相配合那么 VSCode 将会是一个十分便捷的开发环境。

在上一章中我们建立了 greeting 工程,现在我们用 VSCode 打开 greeting 文件夹(注意不是 -greeting)。

打开 greeting 之后,在里面新建一个新的文件夹 .vscode (注意 vscode 前面的点,如果有这个文件夹就不需要新建了)。在新建的 .vscode 文件夹里新建两个文件 tasks.json 和 launch.json,文件内容如下:

tasks.json 文件

{     "version": "2.0.0",     "tasks": [         {             "label": "build",             "type": "shell",             "command":"cargo",             "args": ["build"]         }     ] }

launch.json 文件(适用在 Windows 系统上)

{     "version": "0.2.0",     "configurations": [         {             "name": "(Windows) 启动",             "preLaunchTask": "build",             "type": "cppvsdbg",             "request": "launch",             "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",             "args": [],             "stopAtEntry": false,             "cwd": "${workspaceFolder}",             "environment": [],             "externalConsole": false         }, {             "name": "(gdb) 启动",             "type": "cppdbg",             "request": "launch",             "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",             "args": [],             "stopAtEntry": false,             "cwd": "${workspaceFolder}",             "environment": [],             "externalConsole": false,             "MIMode": "gdb",             "miDebuggerPath": "这里填GDB所在的目录",             "setupCommands": [                 {                     "description": "为 gdb 启用整齐打印",                     "text": "-enable-pretty-printing",                     "ignoreFailures": true                 }             ]         }     ] }

launch.json 文件(适用在 Linux 系统上)

{ "version": "0.2.0", "configurations": [ { "name": "Debug", "type": "gdb", "preLaunchTask""build", "request": "launch", "target": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",             "cwd""${workspaceFolder}" } ] }

launch.json 文件(适用在 Mac OS 系统上)

{ "version": "0.2.0", "configurations": [ { "name": "(lldb) 启动", "type": "cppdbg", "preLaunchTask": "build", "request": "launch", "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "lldb" } ] }

然后点击 VSCode 左栏的 "运行"。

如果你使用的是 MSVC 选择 "(Windows) 启动"。

如果使用的是 MinGW 且安装了 GDB 选择"(gdb)启动",gdb 启动前请注意填写 launch.json 中的 "miDebuggerPath"。

程序就会开始调试运行了。运行输出将出现在"调试控制台"中:

在 VSCode 中调试 Rust

调试程序的方法与其它环境相似,只需要在行号的左侧点击红点就可以设置断点,在运行中遇到断点会暂停,以供开发者监视实时变量的值。