当前位置: 首页 > news >正文

【02】RUST项目(Cargo)

文章目录

  • rust项目与编译
    • 创建项目
    • 检查
    • 编译
    • 运行
    • 各级目录文件作用
      • TODO各文件作用
        • Cargo.toml
        • Cargo.lock
  • RUST项目
    • 一些关键字
      • `mod`
      • `pub`
      • `use` (`as`)
      • `pub use`重导出(re-exporting)
      • `crate`
      • `suer`
    • 模块系统
      • 包 Pcakages
      • crate
      • 模块 Modules 和 use
        • main.rs的例子
        • `lib.rs`的例子
        • 拆分文件为多模块例子
      • 路径 path
    • 外部库
      • 引入

rust项目与编译

使用的是cargo最近进行代码的组织与编译功能
顺序大概如下

  1. 创建项目
  2. 检查(可选)因为直接编译可能更耗时
  3. 编译
  4. 运行

创建项目

  • 新建可执行文件项目
    cargo new my-project
    
    具体生成目录如下
    tree
    .
    └── myproject├── Cargo.toml└── src└── main.rs
    
  • 创建库项目
    cargo new my_project --lib
    
    具体生成目录如下
    .
    └── my_project├── Cargo.toml└── src└── lib.rs2 directories, 2 files
    

检查

不生成二进制文件,仅检查错误

cargo check

编译

  • 仅编译
    #在/myproject目录下
    cargo build
    
  • 编译并直接运行
    cargo run
    

运行

./target/debug/myproject  

各级目录文件作用

#在/myproject目录下
tree #使用工具查看文档目录
.
├── Cargo.lock
├── Cargo.toml
├── src
│   └── main.rs
└── target├── CACHEDIR.TAG├── debug│   ├── build│   ├── deps│   │   ├── myproject-cdd513fcf76c48b9│   │   └── myproject-cdd513fcf76c48b9.d│   ├── examples│   ├── incremental│   │   └── myproject-2pjn4c1pvmvdv│   │       ├── s-h4fd3zhz9t-1ko2ztp-ckpu8adq8wnjediwun88xuroh│   │       │   ├── 0b7twmip3jqlz9dx97gx2kmca.o│   │       │   ├── 0zpzdloaurx3efq8g41tkqoeo.o│   │       │   ├── 41wo1xs8hrzdq6eg9v8gl7auo.o│   │       │   ├── 4o0w59sx9m1kew20y66u6yoks.o│   │       │   ├── 6q4x4vxysd5fu835nc9758m82.o│   │       │   ├── 9jy5ak4gepnknnhh9b1axonei.o│   │       │   ├── dep-graph.bin│   │       │   ├── query-cache.bin│   │       │   └── work-products.bin│   │       └── s-h4fd3zhz9t-1ko2ztp.lock│   ├── myproject│   └── myproject.d└── release├── build├── deps│   ├── myproject-6d58c9c5cc533e7e│   └── myproject-6d58c9c5cc533e7e.d├── examples├── incremental├── myproject└── myproject.d14 directories, 22 files

TODO各文件作用

Cargo.toml
[package

http://www.mrgr.cn/news/90255.html

相关文章:

  • 微信小程序分包异步化
  • 互联网大厂中面试的高频计算机网络问题及详解
  • 几种3D 旋转 的参数化形式
  • Node.js笔记入门篇
  • 使用 AlexNet 实现图片分类 | PyTorch 深度学习实战
  • Windows电脑本地部署运行DeepSeek R1大模型(基于Ollama和Chatbox)
  • 【RabbitMQ重试】重试三次转入死信队列
  • Pdf手册阅读(1)--数字签名篇
  • Ubuntu安装PgSQL17
  • 嵌入式音视频开发(一)ffmpeg框架及内核解析
  • 擎天柱例程35 串口绘图
  • 2025-2-10-4.4 双指针(基础题1)
  • elementplus 使用日期时间选择器,设置可选范围为前后大于2年且只能选择历史时间不能大于当前时间点
  • 【大数据安全分析】为什么要用大数据技术进行安全分析?
  • 2025年前端面试题~ 【前端面试】更新
  • 教程 | MySQL 基本指令指南(附MySQL软件包)
  • 基于Kotlin中Flow扩展重试方法
  • 【HarmonyOS Next 自定义可拖拽image】
  • 【生产变更】- 12c及以后 ADG主备切换
  • 2.10学习总结