Rust学习笔记

简介: Rust学习笔记


Rust简介

Rust是一种系统编程语言。它有着惊人的运行速度,能够防止段错误,保证线程安全。也是一门静态语言和预编译语言(ahead-of-time compiled language),同时是一种注重安全、性能和并发性的编程语言。

 

创建目的:

软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,没有采用垃圾回收机制,比如不会出现Null指针等等。

特点:

安全,速度和并发性

适用人群:

使用C++语言的开发者,对系统编程感兴趣的人员

 

Rust安装

Rustup工具链的官方介绍

Rust 由 rustup 工具来安装和管理。它是一个管理多个 Rust 工具链的工具,从而为多个平台提供一致的 Rust 支持。 Rust 有一个 6 周的 快速发布过程 并且支持 大量的平台 ,所以任何时候都有很多 Rust 构建可用。 rustup 在 Rust 支持的每一个平台上以一致的方式管理这些构建, 并可以从 beta 和 nightly 发布渠道安装 Rust,且支持额外的交叉编译目标平台。

更多信息请查看 rustup documentation

安装rustup的方法

Unix/Linux 下:

在您的终端运行

curl https://sh.rustup.rs -sSf | sh

。它将会下载并运行 rustup-init.sh,它为您的平台下载并运行 rustup-init 可执行文件的正确版本。

image.png

 

Windows 下:

下载并运行 rustup-init.exe.

 

同时,在Windows上,Rust需要Visual C++生成工具2013或更新版本的支持。获取Visual C++生成工具最方便的方法时安装MicroSoft Visual C++ Build Tools 2017.

 

查看是否安装成功:

如果在终端中,看到如下命令,恭喜安装成功!

Rust is installed now.Great!

image.png

 

查看rustc版本,如下图

rustc --version

更新版本:

rustup update 

image.png

其他安装方法

从GitHub获取 源码安装

 

编写第一个Rust程序

1、创建一个main.rs文件

2、编写HelloWorld程序

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

 

image.png

3、编译并执行

rustc main.rs
./main    // 或者在Windows下执行  main.exe


image.png

image.png

 

熟悉C或者C++语言的读者,会发现这个过程与gcc 和 clang 类似。当在终端看到 Hello,World!表示第一个Rust程序运行成功,恭喜入坑!!!

卸载Rust和Rustup

rustup self uninstall

在终端输入上面命令,即可。

helpful compiler友好的编译器:

     println!是一个宏,类似Pyhton3中的print()

                  assert_eq! 也是十分有用宏macro

// macro.rs
fn main(){
    let answer = 42;
    assert_eq!(answer,42);
}

Atom

tokamak

tokamak 是一个使 atom 摇身一变为 rust IDE 的 atom 插件. 安装后 atom 即具有语法高亮, 代码补全与 Lint 等功能, 而且还有个不错的界面, 看起来确实像个 IDE. 你可以在 atom 中搜索 tokamak 并安装它.

Cargo:

   Cargo是Rust的构建系统和包管理工具,同时Rustacean用Cargo来管理它们的Rust项目。

   Cargo的三个工作:

   1.构建你的代码

         2.下载你代码依赖的库--库称为依赖(dependencies)

   3.编译这些库

  查看Cargo的版本:

cargo--version

        同时,

  •    main.rs作为源文件名--创建的是一个可执行文件
  •     lib.rs文件名--创建一个库文件(crate箱子)--库library或包(package)  

创建配置文件:

   Cargo.toml--TOML(Tom's Obvious,Minimal Language)格式

   TOML是前GitHub CEO, Tom Preston-Werner,于2013年创建的语言,其目标是成为一个小规模的易于使用的语义化配置文件格式。TOML被设计为可以无二义性的转换为一个哈希表(Hash table)。详情TOML简介

          例子:

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

 

构建并运行Cargo项目

           两步:

cargo build
./target/debug/hello_world  
  1.  

  一步:

cargo run  

run 命令在你需要快速迭代项目时显得很有用。

发布构建:(优化编译项目)

     cargo build --release

Cargo.lock:跟踪你程序的依赖

  一个方法开始所有的Rust项目:

git clone someurl.com/foo
cd foo
cargo build 

快速创建新项目:

cargo new hello_world --bin 

这个命令传递了 --bin 参数因为我们的目标是直接创建一个可执行程序,而不是一个库。

 

总结

编译: rust hello.rs -o //加入优化项目

项目管理:

   创建项目 cargo new hellorust --bin

   编译项目 cargo build --release

   运行项目 cargo run --release

   清理项目 cargo clean

 

   cargo check

 

安装文档:rustup doc -std  

   

相关文章
|
3月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
66 1
|
8天前
|
Rust 安全 Java
探索Rust语言的并发编程模型
探索Rust语言的并发编程模型
|
14天前
|
Rust 安全 区块链
探索Rust语言:系统编程的新选择
【10月更文挑战第27天】Rust语言以其安全性、性能和并发性在系统编程领域受到广泛关注。本文介绍了Rust的核心特性,如内存安全、高性能和强大的并发模型,以及开发技巧和实用工具,展示了Rust如何改变系统编程的面貌,并展望了其在WebAssembly、区块链和嵌入式系统等领域的未来应用。
|
16天前
|
Rust 安全 Java
编程语言新宠:Rust语言的特性、优势与实战入门
【10月更文挑战第27天】Rust语言以其独特的特性和优势在编程领域迅速崛起。本文介绍Rust的核心特性,如所有权系统和强大的并发处理能力,以及其性能和安全性优势。通过实战示例,如“Hello, World!”和线程编程,帮助读者快速入门Rust。
33 1
|
17天前
|
Rust 安全 编译器
编程语言新宠:Rust语言的特性、优势与实战入门
【10月更文挑战第26天】Rust语言诞生于2006年,由Mozilla公司的Graydon Hoare发起。作为一门系统编程语言,Rust专注于安全和高性能。通过所有权系统和生命周期管理,Rust在编译期就能消除内存泄漏等问题,适用于操作系统、嵌入式系统等高可靠性场景。
28 2
|
8天前
|
Rust 安全 前端开发
探索Rust语言的异步编程模型
探索Rust语言的异步编程模型
|
18天前
|
Rust 安全 云计算
Rust语言入门:安全性与并发性的完美结合
【10月更文挑战第25天】Rust 是一种系统级编程语言,以其独特的安全性和并发性保障而著称。它提供了与 C 和 C++ 相当的性能,同时确保内存安全,避免了常见的安全问题。Rust 的所有权系统通过编译时检查保证内存安全,其零成本抽象设计使得抽象不会带来额外的性能开销。Rust 还提供了强大的并发编程工具,如线程、消息传递和原子操作,确保了数据竞争的编译时检测。这些特性使 Rust 成为编写高效、安全并发代码的理想选择。
15 0
|
1月前
|
Rust 安全 网络安全
在 Rust 语言中,寻找企业上网行为管理软件的突破
在数字化企业环境中,上网行为管理软件对于保障网络安全和提升工作效率至关重要。Rust 语言凭借其安全性、高性能和并发性,为开发此类软件提供了新机遇。本文通过几个 Rust 代码示例,展示了如何实现网址检查、访问频率统计及访问控制等功能,旨在探索 Rust 在企业上网行为管理中的应用潜力。
35 0
|
3月前
|
Rust 安全 编译器
初探 Rust 语言与环境搭建
Rust 是一门始于2006年的系统编程语言,由Mozilla研究员Graydon Hoare发起,旨在确保内存安全而不牺牲性能。通过所有权、借用和生命周期机制,Rust避免了空指针和数据竞争等问题,简化了并发编程。相较于C/C++,Rust在编译时预防内存错误,提供类似C++的语法和更高的安全性。Rust适用于系统编程、WebAssembly、嵌入式系统和工具开发等领域。其生态系统包括Cargo包管理器和活跃社区。学习资源如&quot;The Book&quot;和&quot;Rust by Example&quot;帮助新手入门。安装Rust可通过Rustup进行,支持跨平台操作。
150 2
初探 Rust 语言与环境搭建
|
3月前
|
Rust 安全 程序员
Rust 语言的防错机制太惊人了!安全编码从此不再是难题,快来一探究竟!
【8月更文挑战第31天】《安全编码原则:Rust 语言中的防错机制》探讨了代码安全的重要性,并详细介绍了Rust语言如何通过内存安全模型、所有权与借用规则等特性,在编译阶段检测并阻止潜在错误,如缓冲区溢出和悬空指针。文章还讨论了类型安全、边界检查等其他安全特性,并提出了遵循不可变引用、避免裸指针及充分测试等实用编码原则,以进一步提升代码质量和安全性。随着Rust在软件开发中的应用日益广泛,掌握其安全编码原则变得尤为重要。
58 0