cargo

cargo是一个用来帮助控制项目开发的工具

cargo.toml

这是一个用来管理项目的文件

首先是[package]部分

  1. [package]
  2. name = "foo"
  3. version = "0.1.0"
  4. authors = ["mark"]

三个基本的项目内容

然后是[dependencies]部分

这个部分的内容是项目需要的依赖

编译多个文件

有些时候,我们单个文件需要编译出来多个可执行文件.

我们需要定义多个main函数作为可执行文件的入口

根据rust规范,新的main函数入口文件在./src/bin文件夹下

在编译的时候需要指定--bin参数,不然会出现报错

单元测试

cargo也有类似go的test工具进行单元测试

所有的测试代码文件需要放在tests文件夹内部,后缀为_test

使用cargo test执行测试代码

自定义构建流程

cargo.toml中指定build=后面添加一个.rs文件(一般叫做build.rs文件)

可以在这个rust文件中指定执行的操作,比如制定一些先行条件.

rust学习笔记(8)的更多相关文章

  1. Rust学习笔记1

    这是一份不错的rust教程,目前包括4个block和4个project.全部完成后可以用rust实现一个简单的key-value存储引擎. 注意:Windows下rust貌似会遇到一些bug,强烈建议 ...

  2. Rust学习笔记一 数据类型

    写在前面 我也不是什么特别厉害的大牛,学历也很低,只是对一些新语言比较感兴趣,接触过的语言不算多也不算少,大部分也都浅尝辄止,所以理解上可能会有一些偏差. 自学了Java.Kotlin.Python. ...

  3. Rust学习笔记2

    继续继续... 转眼都开学啦... Building Blocks 2 building blocks里讲了一些关于Log structure storage的东西,这也是用于在硬盘上持久化KvSto ...

  4. Rust学习之旅(读书笔记):枚举 (Enum)

    Rust学习之旅(读书笔记):枚举 (Enum) C 语言的枚举类型很弱,不如后来的语言,也不如之前的语言.在 C 语言里面枚举量就是一个名字,更方便的定义常量.今天读了<The Rust Pr ...

  5. 《Rust权威指南》学习笔记——4. 认识所有权

    Rust权威指南学习笔记--认识所有权 什么是所有权 1. 所有权规则 Rust中的每一个值都有一个对应的变量作为它的所有者. 在同一时间内,值有且仅有一个所有者. 当所有者离开自己的作用域时,它持有 ...

  6. Rust 学习之旅(7):Package,Crate,Module

    Rust 学习之旅(7):Package,Crate,Module 这是第 7 章的读书笔记,Cargo Workspace 在第 14 章. Packages and Crates As a pro ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  9. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  10. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

随机推荐

  1. maven maven-surefire-plugin的乱码问题

    今天项目中出现奇怪问题,在eclipse中直接运行TestNG时,全部都OK,但是执行mvn test时却失败.观察其输出日志,发现有乱码,怀疑是乱码导致. 最终在官网发现蛛丝马迹. maven-su ...

  2. docker容器内使用sudo 报错bash: sudo: command not found

    解决办法: 先查看linux系统版本: cat /proc/version 1.RedHat系主要有RedHat,Fedora,CentOs等: RedHat系列的包管理工具是yum,执行 yum i ...

  3. Qt开发经验小技巧176-180

    QCamera中获取设备的配置参数比如支持的分辨率集合等,需要先调用load后才能正确获取,或者关联stateChanged信号中判断状态是否是ActiveState,然后再读取. //方法1:调用l ...

  4. Qt编写安防视频监控系统56-数据库分页

    一.前言 在视频监控系统中也需要对日志记录进行查询显示,有时候查询到的记录并不能一页显示完,最好的做成翻页显示,如果所有记录都在一页显示通过滚动条查看,不是很符合用户习惯,比如搜索引擎的记录也都是分页 ...

  5. Qt编写地图综合应用3-省市区域图

    一.前言 省市区域图也可以叫省市轮廓图,就是将每个省份.市区的边界区域变成轮廓展示,只是个大概的轮廓,和真是的地图基本一致,毕竟都是一个个点堆起来的,可能会有很小很小的误差,之前做大屏系统中间那个中国 ...

  6. Qt5离线安装包无法下载问题解决办法

    1.前言 Qt5离线安装包目前在国内已经被墙了,无法下载,只能下载在线安装包: 直接访问会显示Download from your IP address is not allowed: 本文就提出两种 ...

  7. Python PEP8 代码规范常见问题及解决方法

    之前一直用 Python IDLE 写代码,最近换成 PyCharm 写代码总是会出现波浪号,这才了解到 Python 的 PEP8 代码规范,所以将常见的 PEP8 代码规范问题和解决方法记录一下, ...

  8. Redis 源码简洁剖析 14 - Redis 持久化

    Redis 持久化方式 RDB 优势 劣势 AOF 优势 劣势 Redis < 7.0 参考链接 Redis 源码简洁剖析系列 Redis 持久化方式 主要参考 Redis 官方文档:Redis ...

  9. RocksDB-键值存储

    存储和访问数百PB的数据是一个非常大的挑战,开源的RocksDB就是FaceBook开放的一种嵌入式.持久化存储.KV型且非常适用于fast storage的存储引擎.   传统的数据访问都是RPC, ...

  10. win11输入法候选区消失

    使用win11系统时,中文输入按空格可以,但是出现微软官方输入法没有候选区问题. 解决方法: 首先,打开任务管理器 然后,在进程选项中找到windows输入体验进程,结束该进程(该进程会自动重启). ...