Rust中的Cargo构建、运行、调试

 更新时间:2022年09月28日 14:43:12   作者:共饮一杯无  
Cargo是rustup安装后自带的,Cargo 是 Rust 的构建系统和包管理器,这篇文章主要介绍了Rust之Cargo构建、运行、调试,需要的朋友可以参考下

基本概念

Cargo是rustup安装后自带的,Cargo 是 Rust 的构建系统和包管理器。
Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。入门教程中使用 cargo new helloworld 命令创建了一个名为 helloworld 的工程,Cargo 新建了一个名为 helloworld 的文件夹并在里面部署了一个 Rust 工程最典型的文件结构。这个 helloworld 文件夹就是工程本身。

Cargo相关命令

Cargo 除了创建工程以外还具备构建(build)工程、运行(run)工程等一系列功能,具体如下:

#创建—个普通的项目:
cargo new project_name --bin 
#创建一个库cargo build
cargo new lib_name --lib--vcs none
#构建编译,默认会编译到target/debug/project_name下
cargo build
#运行
cargo run
#构建编译发布版本,这会做很多优化,并编译到target/release/project_name下
cargo build --release
#如果你想修改cargo .lock文件的话,运行它
cargo update
#如果你只是想更新rand版本的话,运行它
cargo update-p rand
#运行test测试
cargo test abc
#检查代码,确保能通过编译,但不产生执行文件其速度比cargo build快得多编写代码时可以反复的使用cargo check检查代码,提高效率。
cargo check

创建工程目录说明

cargo new helloworld可以创建一个helloword的工程目录,目录结构如下:

image.png

src下面是代码目录。
target是编译后的文件目录。
.gitignore主要功能是屏蔽某些文件,使得这些文件不被追踪(tracked),自然push后也不会上传到github等平台。
Cargo.lock编译过程中自动生成的 Cargo.lock 文件,记录了相关资源信息,保证我们以后可以重新构建。
Cargo.toml为该工程的配置文件,这个关系类似于: package.json 是 npm 的配置文件。

VSCode 中配置 Rust工程

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

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

launch.json:

{ 
        "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 
                    } 
                ] 
            } 
        ] 
    }

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

到此这篇关于Rust之Cargo构建、运行、调试的文章就介绍到这了,更多相关Rust Cargo构建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • R语言ggplot2绘图安装与调试

    R语言ggplot2绘图安装与调试

    ggplot2是R语言中最常用的绘图包之一,它提供了一种基于图层的绘图语法,使得用户可以轻松地创建高质量的数据可视化图表。在使用ggplot2之前,需要先安装该包并进行调试。安装ggplot2可以通过CRAN或GitHub进行,调试则需要注意数据格式、语法错误等问题。
    2023-06-06
  • Rust开发环境搭建到运行第一个程序HelloRust的图文教程

    Rust开发环境搭建到运行第一个程序HelloRust的图文教程

    本文主要介绍了Rust开发环境搭建到运行第一个程序HelloRust的图文教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Rust 配置文件内容及使用全面讲解

    Rust 配置文件内容及使用全面讲解

    这篇文章主要为大家介绍了Rust 配置文件内容及使用全面讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • rust的nutyp验证和validator验证数据的方法示例详解

    rust的nutyp验证和validator验证数据的方法示例详解

    本文介绍了在Rust语言中,如何使用nuType和validator两种工具来对Cargo.toml和modules.rs文件进行验证,通过具体的代码示例和操作步骤,详细解释了验证过程和相关配置,帮助读者更好地理解和掌握使用这两种验证工具的方法,更多Rust相关技术资讯,可继续关注脚本之家
    2024-09-09
  • Rust语言之Copy和Clone详解

    Rust语言之Copy和Clone详解

    在 Rust 中,Copy 和 Clone trait 用于控制类型的复制行为。它们允许你定义如何复制类型的值,以及在什么情况下可以复制。本文将详细介绍这两个 trait 的作用和用法,并通过代码示例来展示它们的使用,需要的朋友可以参考下
    2023-05-05
  • Rust 编程语言中的所有权ownership详解

    Rust 编程语言中的所有权ownership详解

    这篇文章主要介绍了Rust 编程语言中的所有权ownership详解的相关资料,需要的朋友可以参考下
    2023-02-02
  • Rust中的Cargo构建、运行、调试

    Rust中的Cargo构建、运行、调试

    Cargo是rustup安装后自带的,Cargo 是 Rust 的构建系统和包管理器,这篇文章主要介绍了Rust之Cargo构建、运行、调试,需要的朋友可以参考下
    2022-09-09
  • rust开发环境配置详细教程

    rust开发环境配置详细教程

    rust是一门比较新的编程语言,2015年5月15日,Rust编程语言核心团队正式宣布发布Rust 1.0版本,这篇文章主要介绍了rust开发环境配置 ,需要的朋友可以参考下
    2022-12-12
  • Rust中箱、包和模块的学习笔记

    Rust中箱、包和模块的学习笔记

    Rust中有三个重要的组织概念:箱、包、模块,本文主要介绍了Rust中箱、包和模块的学习笔记,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • rust如何解析json数据举例详解

    rust如何解析json数据举例详解

    这篇文章主要给大家介绍了关于rust如何解析json数据的相关资料,SON 格式非常轻量级,因此它非常适合在网络中传输大量数据,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11

最新评论