美文网首页
Rust学习笔记(一)

Rust学习笔记(一)

作者: _AKI_Peroro_ | 来源:发表于2016-07-29 12:50 被阅读0次

第一步要做的事情是


安装Rust编译环境(人人都有的windows)

咱工作机器是win7+mingw
所以直接到下面的链接下载Windows ([GNU ABI †]) (.msi)就好

https://www.rust-lang.org/en-US/downloads.html

安装完成后在mingw里输入"rustc --version"检查安装是否成功
如果安装成功会看到以下输出


Paste_Image.png

该来的总会来


Hello World

总之先创建一个放代码的文件夹

$ mkdir hello_world
$ cd hello_world

Rust源文件的后缀名是“.rs”,所以咱们现在要创建一个叫“main.rs”的文件然后把下面的代码放到里面。

fn main() 
{
    println!("Hello world!"); 
}
  • 第一行代码定义了一个没有参数没有返回值的函数main,因为咱主业是搞c++,无返回值的函数前面没有void还是感觉有点怪。
  • 第二行和最后一行是大括号把函数的实现代码包起来,这没啥好说的。
  • 第三行,这一行把hello world输出到屏幕,名字很直观print line;说起来官方的文档上特别强调缩进是4个空格,不要用tab,咱还以为用tab会有啥问题,特意试了下并没有啥功能上的区别能编能跑,果然还是强调码规范吧。值得一提的是,println!()这样表示调用的是Rust的宏,是meta编程的实现方式,如果去掉‘!’就是直接调用函数了。关于Rust宏的部分咱还没看到,总之慢慢来_(:з」∠)_。最后用‘;’结尾,因为咱主业是搞c++,咱觉得这很合理。

接下来咱们就要编了

$ rustc main.rs

运行完这个命令后同级目录下会出现一个main.exe,Linux或者mac就直接是main了,运行它!
然后咱们会看到

Paste_Image.png

总要搞个大项目


Cargo 碉堡了!

Cargo是Rust的包管理器和构建系统,能编咱们的工程,还能下载咱们工程依赖的库,还能编咱们下载下来的依赖库!因为咱还搞过iOS,咱觉得cocoapods很方便,看到Cargo有这功能咱很欣慰。
一般来说通过安装包安装Rust编译环境的都自带了Cargo,运行下面的命令来检查Cargo是否正常

$ cargo --version

如果成功咱们会看到

Paste_Image.png

接下来咱们用Cargo重新编译Hello world,但是咱们的工程文件夹目前的结构不是很合适,要稍微挪一挪

$ mkdir src
$ mv ./main.rs src
$ rm ./main.exe

在hello_world目录下创建一个文件,命名为Cargo.toml,注意C务必要大写。
这是一个TOML文件,用起来有点像INI,但是更强大(其实咱也没怎么用过_(:з」∠)_)。

接着把下面的代码写入Cargo.toml

[package]

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

[package]表示接下来的都是用来配置package的部分,接下来的三行配置程序名称、程序版本以及作者。

保存好后咱们开始build

$ cargo build

如果build成功咱们会看到

Paste_Image.png

运行!

$ ./target/debug/hello_world.exe
Paste_Image.png

换着法儿运行!

$ cargo run
Paste_Image.png

要快,要Release

输入以下命令来编Release版本,编译Release版本会让咱们的程序跑的更快,但是编译起来会更慢。

$ cargo build --release
Paste_Image.png

Cargo.lock是神马

在使用Cargo编译完咱们的工程后在咱们工作路径下会多出一个文件“Cargo.lock”

Paste_Image.png

里面的内容看起来应该是这个样子:

[root]
name = "hello_world"
version = "0.0.1"

Cargo用这个文件来跟踪咱们工程中的各种依赖。因为咱们写的hello_world没有任何依赖,所以咱们的Cargo.lock看起来超简单。在实际工作中咱们一般不用碰这个文件,一切交给超厉害的Cargo就好。

论如何轻松痛快的创建新项目

懒是推动科技发展的最强大的力量——孔子

超懒的咱要用Cargo new来轻松创建新项目

$ cargo new hello_worldex --bin

new之后跟的第一个参数是新项目路径,--bin表示这个新建项目是一个可执行程序。
运行完上面那条命令后,就会发现当前目录下多了一个hello_worldex文件夹。


Paste_Image.png

该文件夹中包含一个Cargo.toml 和一个src文件夹
打开Cargo.toml看看,……居然自动添加了咱的名字……

[package]
name = "hello_worldex"
version = "0.1.0"
authors = ["Renzhi"]

[dependencies]

咱们还会在src中找到自动生成的main.rs
内容如下

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

居然写好了hello world……咱很欣慰

参考资料


The Rust Programming Language
Cargo Guide

相关文章

  • Rust学习笔记(一)

    第一步要做的事情是 安装Rust编译环境(人人都有的windows) 咱工作机器是win7+mingw所以直接到下...

  • rust 学习 笔记(一)

    1. 打开本地的rust 文档 rustup doc里面有 install 等 各类详细信息,就不多详述了。 2....

  • rust学习笔记

    Cargo:Rust 的构建工具和包管理器 您在安装 Rustup 时,也会安装 Rust 构建工具和包管理器的最...

  • 2.Rust新手教程-数据类型

    学习笔记,仅此而已 Rust是静态编译语言,在编译时必须知道所有变量的类型,其中Rust内部有2套机制 基于定义的...

  • Rust学习笔记-01

    0. Rust的源文件 像c语言的源文件我们以".c"为后缀,c++以".cpp"为后缀,java以".java"...

  • [学习笔记]初试rust

    什么是Rust? Rust 是一门系统级编程语言,可以被归纳为通用的、多范式、编译型语言,与C/C++不同的是,R...

  • Rust 学习笔记 - 安装

    在 Linux 和 Mac 上安装 如果使用 Linux 或 Mac, 最简单的做法就是打开一个终端并输入: 这将...

  • Rust 学习笔记 - 函数

    Rust 是一门多范式的编程语言,但 Rust 的编程风格是更偏向于函数式的,函数在 Rust 中是“一等公民”。...

  • Rust学习笔记(3)

    内容整理自:https://doc.rust-lang.org/book/title-page.html Chap...

  • Rust 学习笔记-序

    github地址:https://github.com/bradyjoestar/rustnotes(欢迎star...

网友评论

      本文标题:Rust学习笔记(一)

      本文链接:https://www.haomeiwen.com/subject/mrigjttx.html