Rust初踩坑

news/2024/10/28 5:13:21/

一、下载

到官网https://www.rust-lang.org/zh-CN/tools/install下载你需要的版本

在这里插入图片描述

二、安装

执行rustup-init 文件,选择1

在这里插入图片描述
按提示直到安装完成

可以通过以下命令测试:

rustc -V        # 注意的大写的 V
cargo -V      # 注意的大写的 V

在这里插入图片描述

三、在VScode中调试

创建.vscode文件夹,目录结构如下
在这里插入图片描述

并依次创建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": "C:\\Program Files\\MinGW-w64\\bin\\gdb.exe","setupCommands": [{"description": "为gdb启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

正常返回src下的main.rs,写入以下代码

fn main() {println!("Hello, world!");
}

然后点击 VSCode 左栏的 "运行"或者在main.rs中按F5。
在这里插入图片描述

3.1 (Windows) 启动

如果你使用的是 MSVC 选择 “(Windows) 启动”,它会跳到终端显示执行情况
在这里插入图片描述
要手动切换到调试控制台看结果
在这里插入图片描述
打断点有效
在这里插入图片描述
如果弹出cppvsdbg不受支持,请先安装以下扩展
在这里插入图片描述
修改代码后,执行此调试方式,会重新构建,代码生效

3.2 (gdb) 启动

如果使用的是 MinGW 且安装了 GDB 选择"(gdb)启动",gdb 启动前请注意填写 launch.json 中的 “miDebuggerPath”。
在这里插入图片描述
先下载MinGW64 8.1 (https://www.onlinedown.net/soft/10045442.htm)到电脑上,解压后路径填到launch.json 中的miDebuggerPath。

按F5后,直接在终端看结果。

在这里插入图片描述
打断点无效
在这里插入图片描述

修改代码后,执行此调试方式,不会重新构建,代码不生效


http://www.ppmy.cn/news/1542525.html

相关文章

网安加·百家讲坛 | 徐一丁:金融机构网络安全合规浅析

作者简介:徐一丁,北京小西牛等保软件有限公司解决方案部总监,网络安全高级顾问。2000年开始从事网络安全工作,主要领域为网络安全法规标准研究、金融行业安全咨询与解决方案设计、信息科技风险管理评估等。对国家网络安全法规标准…

Windows 操作系统中事件驱动架构与注册表

在 Windows 操作系统中,事件驱动架构与注册表的结合非常关键。Windows 的图形用户界面(GUI)使用事件驱动架构来处理用户的输入和交互,而注册表则起到配置、管理和存储系统设置的作用。结合两者,可以深入理解 Windows 是…

Python中的pip命令安装与使用

Python中的pip命令简介 pip 是 Python 的包管理工具,用于安装和管理 Python 包。它允许你从 Python 包索引(Python Package Index,简称 PyPI)下载并安装第三方库和工具。pip 是 Python 官方推荐的包管理工具,并且从 P…

渗透测试-SQL注入基础知识

介绍几个常用函数: 1. version()——MySQL 版本 2. user()——数据库用户名 3. database()——数据库名 4. datadir——数据库路径 5. version_compile_os——操作系统版本 字符串连接函数 1. concat(str1,str2,...)——没有分隔符地连接字符串 2. concat_ws…

算法笔记/USACO Guide GOLD金组DP 4. Longest Increasing Subsequence

Has Not Appeared. * 理解最长递增子序列(LIS)问题是一个经典的DP问题。在给定的数组中,目标是找到最长的严格递增的子序列。 子序列 子序列是通过删除一些或不删除元素,从原数组中得到的序列,且保留原顺序。例如&a…

基于SpringBoot的旅店管理系统的设计与实现源码+Vue前端(酒店、民宿、功能较多)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

重学SpringBoot3-Spring WebFlux之Reactor事件感知 API

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ Spring WebFlux之Reactor事件感知 API 1. 什么是 doOnXxx 系列 API?2. doOnXxx API 的常用方法2.1 doOnNext()示例:输出: 2.2 doOnErr…

Ansible 批量部署

anseble role [rootubuntu24 ansible]$ tree . ├── ansible.cfg ├── dns_master.yaml ├── dns_slave.yaml ├── hosts ├── LVS.yaml ├── mysql-discuz.yaml ├── mysql-jpress.yaml ├── nginx_php.yaml ├── roles │ ├── LVS │ │ ├── …