Rust 工程配置

Rust 第22节 工程配置

release profile

发布配置

可自定义,对代码编译拥有更多的控制

cargo 主要有两个 profile

dev profile, 开发阶段,cargo build

relese profile 发布阶段 cargo build --release

在Cargo.toml中对相关属性进行修改

例如编译优化等级

rust 复制代码
[profile.dev]
opt-level 0

[profile.release]
opt-level 3

opt-level 是编译优化等级,等级越高,代码优化越多,编译时间越长

文档注释

文档注释

用于生成文档

生产HTML文档

使用 /// 进行标识

支持markdown 格式

使用命令 cargo doc

他会运行 rustdoc 工具

使用命令cargo doc --open 生产完直接打开

常用章节

///# Examples 示例区域

///```

///let a

///`` `

其他常用章节

Panics 可能发生panic的场景

Errors 可能发生的错误

在运行cargo test 时,会运行文档中的示例代码

///可以理解为函数的注释

整个lib文档,或者整个crate进行注释 //!

pub use 重新导出

回顾一些关键字

mod 创建一个mode模块

pub 声明某一数据为公共的

use 将一些数据进行导入

当开发者编写crate时,建立的一些目录层级是规范的标准的,方便的

但是当使用者使用这些库时,可能就不会很方便

例如:

有一个类型,路径为:

my_crate::some_module::another_mode::my_types;

而使用者使用时,路径太深了,他想使用的是这样

my_crate::my_types;

这个时候我们可以使用 pub use 进行重新导出

正常导入

rust 复制代码
use release_project::one::s1;
use release_project::one::shello;
use release_project::two::s2;

重新导入后

rust 复制代码
use release_project::s1;
use release_project::shello;
fn main() {
    println!("Hello, world!");

    let d1 = s1{
        name : "小红".to_string(),
        age : 12,
    };
    shello(d1);

}

lib.rs 文件代码

rust 复制代码
//! # Art
//! 两个结构体
 
//重新导出
pub use self::one::s1;
pub use self::one::shello;
pub use self::two::s2;

/// 模块1
pub mod one {

    ///结构体s1
    pub struct s1 {
        pub name : String,
        pub age : u32,
    }

    ///函数shello
    pub fn shello(data : s1) {
        println!("name :{},age:{}",data.name,data.age);
    }
}

///模块2
pub mod two {
    ///结构体s2
    pub struct s2 {
        pub name : String,
        pub age : u32,
    }
}
相关推荐
梵刹古音2 小时前
【C语言】 字符数组相关库函数
c语言·开发语言·算法
微风中的麦穗8 小时前
【MATLAB】MATLAB R2025a 详细下载安装图文指南:下一代科学计算与工程仿真平台
开发语言·matlab·开发工具·工程仿真·matlab r2025a·matlab r2025·科学计算与工程仿真
2601_949146538 小时前
C语言语音通知API示例代码:基于标准C的语音接口开发与底层调用实践
c语言·开发语言
开源技术8 小时前
Python Pillow 优化,打开和保存速度最快提高14倍
开发语言·python·pillow
学嵌入式的小杨同学8 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
weixin_425543739 小时前
TRAE CN3.3.25 构建的Electron简易DEMO应用
前端·typescript·electron·vite·nestjs
Mr Xu_10 小时前
【Vue3 + ECharts 实战】正确使用 showLoading、resize 与 dispose 避免内存泄漏
前端·信息可视化·vue·echarts
mftang10 小时前
Python 字符串拼接成字节详解
开发语言·python
0思必得010 小时前
[Web自动化] Selenium设置相关执行文件路径
前端·爬虫·python·selenium·自动化
雯0609~10 小时前
hiprint:实现项目部署与打印1-官网提供普通html版本
前端·html