cargo是Rust内置的项目管理工具。用于Rust 项目的创建、编译、执行,同一时候对项目的依赖进行管理,自己主动推断使用的第三方依赖库,进行下载和版本号升级。

一、查看 cargo 版本号

安装Rust之后,能够使用

cargo --version

查看cargo的版本号信息。

$ cargo --version
cargo 0.8.0-nightly (28a0cbb 2016-01-17)

二、创建新项目

1、使用 “ new 项目名称“ 创建新项目
cargo new hello_world

cargo new 默认创建的是library项目;

2、假设要创建可执行的 Rust 项目,须要加入–bin 參数
cargo new hello_world --bin
3、项目结构

创建项目后。当前路径下创建以项目名称为名字的文件夹作为项目的根文件夹。

在项目的根文件夹下,包括一个cargo的配置文件和一个src文件夹。

A. cargo配置文件的名字为 Cargo.toml。文件内容例如以下:

[package]

name = "hello_world"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]

B. src文件夹下,包括一个Rust文件。

假设是可执行的项目,这个文件的名字为 main.rs,内容为:

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

假设是一个库项目,这个文件的名字为 lib.rs ,内容为:

  #[cfg(test)]
mod test {
#[test]
fn it_works() {
}
}

二、编译项目

$ cargo build
$cargo build
Compiling hello_world v0.0.1 (file:///Users/teamlet/develop/rust-projects/hello_world)
三、执行项目
$cargo run
$ cargo run
Running `target/debug/hello_world`
Hello,world!
四、获取帮助

能够执行

cargo --help

获得帮助菜单;

或者carg + 命令名 - - help 获得更具体的帮助信息

cargo new --help

Rust 中项目构建管理工具 Cargo简单介绍的更多相关文章

  1. 覆盖率測试工具gcov的前端工具_LCOV_简单介绍

    1.Gcov是进行代码运行的覆盖率统计的工具.它随着gcc的公布一起公布的,它的使用也非常easy,须要在编译和链接的时候加上-fprofile-arcs -ftest-coverage生成二进制文件 ...

  2. DELL服务器管理工具和RACADM介绍

    DELL服务器管理工具和RACADM介绍 一.Dell服务器管理工具介绍 Dell对服务器(DELL PowerEdge)的管理主要提供了三种管理工具,分别是Dell Remote Access Co ...

  3. 【rust】Rust 的构建系统和包管理工具Cargo认识并初步使用(2)

    Cargo 是 Rust 的构建系统和包管理工具,同时 Rustacean 们使用 Cargo 来管理它们的 Rust 项目.Cargo 负责三个工作:构建你的代码,下载你代码依赖的库并编译这些库.我 ...

  4. c++ cmake及包管理工具conan简单入门

    cmake是一个跨平台的c/c++工程管理工具,可以通过cmake轻松管理我们的项目 conan是一个包管理工具,能够自动帮助我们下载及管理依赖,可以配合cmake使用 这是一个入门教程,想深入了解的 ...

  5. 自动化构建工具gulp简单介绍及使用

    一.简介及安装: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快 ...

  6. node.js中npm包管理工具

    现在安装node.js,默认就会帮我们装上了npm包管理工具,npm主要用来下载,安装,管理第三方模块. 创建一个包描述文件: npm init [-y] 查看包的信息 npm info <pa ...

  7. NodeJS 中npm包管理工具

    NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从 ...

  8. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  9. linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)

    firewall-config是firewalld防火墙管理工具的GUI(图形用户界面)版本,几乎可以实现所有以命令行来执行的操作. firewall-config的界面如下图(在终端直接运行fire ...

随机推荐

  1. JavaScript入门二

    ******函数****** **函数定义** //普通函数定义 function f1() { console.log("Hello word!") } //带参数的函数 fun ...

  2. Hadoop Hive概念学习系列之hive里的HiveQL——查询语言(十五)

    Hive的操作与传统关系型数据库SQL操作十分类似. Hive主要支持以下几类操作: DDL 1.DDL:数据定义语句,包括CREATE.ALTER.SHOW.DESCRIBE.DROP等. 详细点, ...

  3. Anaconda——Python包管理工具

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能 主要用于Python包管理和版本管理. 下载地址:https:/ ...

  4. Prime算法生成最小生成树

    虽说是生成树,但我只将生成的边输出了.至于怎么用这些边来创建树...我不知道_(:з」∠)_ //Prime方法生成最小生成树 void GraphAdjacencyListWeight::Gener ...

  5. 7、scala面向对象编程之类

    1.  定义一个简单的类 2.getter与setter 3.自定义getter与setter方法 4.仅暴露field的getter方法 5.private[this]的使用 6.Java风格的ge ...

  6. post发送 ArrayBuffer

    // 用 POST 方法将 ArrayBuffer 发送到服务器 ); var longInt8View = new Uint8Array(myArray); ; i< longInt8View ...

  7. 关于react框架的一些细节问题的思考

    目录 setState到底是同步的还是异步的? 如何在子组件中改变父组件的state? context的运用,避免“props传递地狱” 组件类里有私有变量a,它到底改放在this.a中还是this. ...

  8. centos vm 桥接 --网络配置

    /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none BROADCAST=192.168.1.255 HWADDR= ...

  9. final关键字用法

    Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量. final类不能被继承,没有子类,final类中的方法默认是final的. final方法 ...

  10. java中关于数组的初始化