网站的模板怎么做/百度小说风云榜今天

网站的模板怎么做,百度小说风云榜今天,软件著作权怎么写,网站怎么做搜索功能1.在windows上安装Rust Windows 上安装 Rust 需要有 C 环境,以下为安装的两种方式: 1. x86_64-pc-windows-msvc(官方推荐) 先安装 Microsoft C Build Tools,勾选安装 C 环境即可。安装时可自行修改缓存路径与安装路…

1.在windows上安装Rust

Windows 上安装 Rust 需要有 C++ 环境,以下为安装的两种方式:

1. x86_64-pc-windows-msvc(官方推荐)

先安装 Microsoft C++ Build Tools,勾选安装 C++ 环境即可。安装时可自行修改缓存路径与安装路径,避免占用过多 C 盘空间。

准备好 C++ 环境后开始安装 Rust:

在 RUSTUP-INIT 下载系统相对应的 Rust 安装程序,一路默认即可。

PS C:\Users\48370> rustup-init.exe
......
Current installation options:
​default host triple: x86_64-pc-windows-msvcdefault toolchain: stable (default)profile: defaultmodify PATH variable: yes
​
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

2.更新

要更新 Rust,在终端执行以下命令即可更新:

$ rustup update

3.卸载

要卸载 Rust 和 rustup,在终端执行以下命令即可卸载:

$ rustup self uninstall

4.检查是否安装成功

检查是否正确安装了 Rust,可打开终端并输入下面这行,此时能看到最新发布的稳定版本的版本号、提交哈希值和提交日期:

$ rustc -V
rustc 1.56.1 (59eed8a2a 2021-11-01)
​
$ cargo -V
cargo 1.57.0 (b2e52d7ca 2021-10-21)

注:若发现版本号不同,以您的版本号为准

恭喜,你已成功安装 Rust!

5.开发工具

这里我选择的是Jetbrains的RustRover,因为已经习惯使用Jetbrains全家桶的工具了,也可以使用VSCode【需要下载对应的rust-analyzer插件】。

2.认识Cargo

Cargo 是 Rust 语言的官方包管理器和构建工具,集成了代码编译、依赖管理、测试运行、文档生成、包发布等功能。它是 Rust 生态系统的核心工具,几乎每个 Rust 项目都会使用 Cargo 来管理。

核心功能

1. 项目管理

  • 项目初始化 通过 cargo newcargo init 创建项目,自动生成标准目录结构和配置文件:

    cargo new my_project   # 创建二进制可执行项目
    cargo new --lib my_lib # 创建库项目

    生成的文件结构:

    my_project/├── Cargo.toml   # 项目元数据和依赖配置├── Cargo.lock   # 新增的锁定文件├── .gitignore   # 默认忽略 target/ 目录└── src/└── main.rs  # 主入口文件(或 lib.rs 用于库)
  • Cargo.toml 项目的核心配置文件,包含:

    • 元数据:项目名称、版本、作者、许可证等。

    • 依赖声明:直接依赖、开发依赖、构建依赖。

    • 构建配置:优化选项、特性开关(features)、目标平台等。

    示例:

    [package]
    name = "my_project"
    version = "0.1.0"
    authors = ["Your Name <your@email.com>"]
    edition = "2021"  # Rust 版本
    ​
    [dependencies]
    serde = "1.0"     # 直接依赖
    tokio = { version = "1.0", features = ["full"] }
    ​
    [dev-dependencies]
    rand = "0.8"      # 仅测试和示例使用的依赖
  • Cargo.lock

当首次运行 cargo build 或添加依赖后,Cargo 会自动生成 Cargo.lock 文件。它记录了项目依赖的精确版本信息,确保每次构建时依赖版本的一致性。

  • 位置:项目根目录下的 Cargo.lock

  • 作用:

    • 锁定所有依赖的具体版本(包括间接依赖)。

    • 确保团队成员或部署环境使用完全相同的依赖版本。

    • 防止因依赖版本意外升级导致构建失败或行为不一致。

与 Cargo.toml 的区别

Cargo.tomlCargo.lock
编辑方式手动编辑(声明依赖的版本范围)自动生成(记录依赖的精确版本)
版本控制必须提交到版本库应用项目建议提交,库项目通常不提交
示例内容serde = "1.0"(允许语义化版本更新)serde = { version = "1.0.189" }

2. 依赖管理

  • 依赖来源

    • crates.io:默认的公共包仓库(类似 npm 的 registry)。

    • Git 仓库:直接从 Git 仓库拉取代码。

    • 本地路径:引用本地其他项目作为依赖。

    示例:

    [dependencies]
    # 从 crates.io 获取
    regex = "1.5"
    # 从 GitHub 分支获取
    my_lib = { git = "https://github.com/user/my_lib", branch = "dev" }
    # 本地路径依赖
    local_lib = { path = "../local_lib" }
  • 版本解析 Cargo 使用语义化版本(SemVer)管理依赖,并自动解析依赖冲突,生成精确版本的依赖关系(记录在 Cargo.lock 文件中)。

3. 构建与编译

  • 基本命令

    • cargo build:编译项目,生成调试版二进制文件(位于 target/debug/)。

    • cargo build --release:编译优化后的生产版本(位于 target/release/)。

    • cargo run:编译并直接运行主程序。

    • cargo check:快速检查代码语法和类型,不生成二进制文件。

  • 增量编译 Cargo 默认启用增量编译,仅重新编译修改过的部分,大幅提升开发效率。

4. 测试与文档

  • 单元测试与集成测试

    • 在代码中使用 #[test] 标记测试函数。

    • 通过 cargo test 运行所有测试。

    • 支持测试过滤(如 cargo test test_add 运行特定测试)。

  • 文档生成

    • 使用 /////! 编写文档注释。

    • 通过 cargo doc 生成 HTML 文档,自动托管依赖的文档链接。

    • cargo doc --open 直接在浏览器中打开文档。

    示例:

    /// 计算两个数的和
    /// # 示例
    /// ```
    /// assert_eq!(add(2, 3), 5);
    /// ```
    pub fn add(a: i32, b: i32) -> i32 {a + b
    }

3.Hello World!

在学习一门新的语言最开始的时候,都是要从输出hello world!开始的。下面演示一下创建rust项目以及编写、运行hello world程序。

  • 首先打开RustRover,点击“文件”->“新建”->“项目”

然后点击“创建”,这样就新建了一个rust项目。

  • 这是创建好的项目结构

  • 接下来在main.rs中写对应的程序,如下:

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

点击图中的箭头就可以运行程序了,控制台输出结果如下:

  • 接下来是对代码的解释:

    1. fn main() { ... }

    • 作用:定义程序的入口函数

    • 细节

      • 每个可执行 Rust 程序必须有一个 main 函数

      • fn 是函数定义的关键字(function 的缩写)

      • 函数体必须用花括号 {} 包裹

      • Rust 使用 4 空格缩进(非强制但社区约定)

    2. println!("Hello, World!");

    • 作用:向标准输出打印文本

    • 分解

      • println! 是一个 (macro),不是普通函数,注意结尾的 ! 符号

      • "Hello, World!" 是一个字符串字面量

      • 行尾必须有分号 ;(Rust 中大多数语句以分号结尾)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/71704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文章精读篇——OMG-Seg

题目&#xff1a;OMG-Seg : Is One Model Good Enough For All Segmentation? 作者&#xff1a;Xiangtai Li1 † Haobo Yuan1 Wei Li1 Henghui Ding1 Size Wu1 Wenwei Zhang1Yining Li2 Kai Chen2 Chen Change Loy1 代码&#xff1a;OMG-Seg 会议&#xff1a;cvpr2024 边读…

vite 开启 gzip压缩

使用vite 如何开启 gzip压缩 文章目录 使用vite 如何开启 gzip压缩1. 引言为什么需要 Gzip 压缩&#xff1f;Gzip 压缩的作用 2. Vite 项目中的 Gzip 压缩Vite 的基本概念Gzip 压缩的原理 3. 使用 Vite 插件开启 Gzip 压缩安装 vite-plugin-compression配置 vite-plugin-compre…

【Python量化金融实战】-第1章:Python量化金融概述:1.4 开发环境搭建:Jupyter Notebook、VS Code、PyCharm

在量化金融开发中&#xff0c;选择合适的开发环境至关重要。本章介绍三种主流工具&#xff1a;Jupyter Notebook&#xff08;交互式分析&#xff09;、VS Code&#xff08;轻量级编辑器&#xff09;、PyCharm&#xff08;专业IDE&#xff09;&#xff0c;并通过实战案例展示其应…

Linux-Ansible模块扩展

文章目录 Archive UnarchiveSetup模块Lineinfile Replace &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Linux专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年02月23日18点11分 Archive Unarchive Archive和Unarchive模块 需求&#x…

Three.js 快速入门教程【二】透视投影相机

系列文章目录 系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六…

IntelliJ IDEA 控制台输出中文出现乱码

IntelliJ IDEA 控制台输出中文出现乱码通常是由于编码设置不一致导致的。以下是常见原因及解决方法 1. 项目编码设置 检查路径&#xff1a;File → Settings → Editor → File Encodings 确保 Project Encoding、Global Encoding 和 Default Encoding for Properties Files 均…

Scrum方法论指导下的Deepseek R1医疗AI部署开发

一、引言 1.1 研究背景与意义 在当今数智化时代&#xff0c;软件开发方法论对于项目的成功实施起着举足轻重的作用。Scrum 作为一种广泛应用的敏捷开发方法论&#xff0c;以其迭代式开发、快速反馈和高效协作的特点&#xff0c;在软件开发领域占据了重要地位。自 20 世纪 90 …

蓝桥与力扣刷题(蓝桥 交换瓶子)

题目&#xff1a;有 N 个瓶子&#xff0c;编号 1 ~ N&#xff0c;放在架子上。 比如有 5 个瓶子&#xff1a; 2 1 3 5 4 要求每次拿起 2 个瓶子&#xff0c;交换它们的位置。 经过若干次后&#xff0c;使得瓶子的序号为&#xff1a; 1 2 3 4 5 对于这么简单的情况&#x…

Spring AutoWired与Resource区别?

大家好&#xff0c;我是锋哥。今天分享关于【Spring AutoWired与Resource区别?】面试题。希望对大家有帮助&#xff1b; Spring AutoWired与Resource区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Spring 中&#xff0c;Autowired 和 Resource 都是用于…

行业分析---对自动驾驶规控算法的思考

1 前言 随着自动驾驶端到端大模型的兴起&#xff0c;小鹏、华为、理想、蔚来、小米等公司都对自动驾驶业务部进行了组织架构的调整&#xff0c;准备应对新的或者更高级别的自动驾驶研发任务。 近几年由于自动驾驶技术的快速发展&#xff0c;不少从业者觉得相关职业的未来充满了…

【YOLOv8】损失函数

学习视频&#xff1a; yolov8 | 损失函数 之 5、类别损失_哔哩哔哩_bilibili yolov8 | 损失函数 之 6、定位损失 CIoU DFL_哔哩哔哩_bilibili 2.13、yolov8损失函数_哔哩哔哩_bilibili YOLOv8 的损失函数由类别损失和定位损失构成 类别损失&#xff1a;BCE Loss 定位损失…

小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试等,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。

小鱼深度评测 通义灵码2.0 1、引言2、通义灵码 更新与安装2.1 IDE插件更新2.1.1 PyCharm 更新2.1.2 VSCode 更新 2.2 官网下载更新 3、 使用体验3.1生成单元测试3. 2 跨语言编程3.3灵码2.0 与1.0 对比 4、总结 1、引言 通义灵码&#xff0c; 我一直使用的编码协助工具&#xf…

《微软量子芯片:开启量子计算新纪元》:此文为AI自动生成

量子计算的神秘面纱 在科技飞速发展的今天,量子计算作为前沿领域,正逐渐走进大众的视野。它宛如一把神秘的钥匙,有望开启未来科技变革的大门,而微软量子芯片则是这把钥匙上一颗璀璨的明珠。 量子计算,简单来说,是一种遵循量子力学规律调控量子信息单元进行计算的新型计算…

深度解读DeepSeek:从原理到模型

一、大模型模型发展路线退 二、DeepSeek V2-V3/R1技术原理 DeepSeek V2、V3 和 R1 模型架构优化要点&#xff1a; 1、‌DeepSeek V2‌ 混合专家架构&#xff08;DeepSeekMoE&#xff09;‌&#xff1a;采用细粒度专家划分与共享专家机制&#xff0c;总参数规模达236B但仅激活…

easyexcel 2.2.6版本导出excel模板时,标题带下拉框及其下拉值过多不显示问题

需求背景&#xff1a;有一个需求要做下拉框的值有100多条&#xff0c;同时这个excel是一个多sheet的导入模板 直接用easyexcel 导出&#xff0c;会出现下拉框的值过多&#xff0c;导致生成出来的excel模板无法正常展示下拉功能 使用的easyexcel版本&#xff1a;<depende…

基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案

随着物联网和嵌入式技术的快速发展&#xff0c;嵌入式设备对实时音视频通信的需求日益增长。然而&#xff0c;传统的音视频解决方案往往存在体积庞大、实时性差、互动体验不佳等问题&#xff0c;难以满足嵌入式设备的资源限制和应用场景需求。 针对以上痛点&#xff0c;本文将介…

AI工作流+专业知识库+系统API的全流程任务自动化

我有点悲观&#xff0c;甚至很沮丧&#xff0c;因为AI留给普通人的机会不多了&#xff0c;这既是人类之间权力的斗争&#xff0c;也是硅基生命和碳基生命的斗争。AI自动化是无法避免的趋势&#xff0c;如果人类不能平权&#xff0c;那就只能跪下接受审判。 通过整合AI工作流、专…

Lua | 每日一练 (3)

&#x1f4a2;欢迎来到张胤尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 Lua | 每日一练 (3)题目参考答案减少查找次数预分配表…

二叉树(中等题)

1、先序&#xff0c;中序遍历确定二叉树 105 方法一、 前提 ① 必须不能有重复元素② 只有先序&#xff0b;中序和后序&#xff0b;中序才能实现唯一树 思考要点&#xff1a; 不要想着用for循环&#xff0c;递归一定更好解决输入是vector&#xff0c;递归就得考虑传入索…

巧妙实现右键菜单功能,提升用户操作体验

在动态交互式图库中&#xff0c;右键菜单是一项能够显著提升用户操作便捷性的功能。它的设计既要响应用户点击位置&#xff0c;又需确保菜单功能与数据操作紧密结合&#xff0c;比如删除图片操作。以下将通过一段实际代码实现&#xff0c;展示从思路到实现的详细过程。 实现右键…