From 89783d639e050ecac1fa3a4881dd958fe1226fbb Mon Sep 17 00:00:00 2001 From: YiRanCN Date: Thu, 19 Oct 2023 16:07:39 +0800 Subject: [PATCH] 1 --- ...04\345\273\272\345\267\245\345\205\267.md" | 4 +++ docs/study/program/Rust/index.md | 30 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 docs/study/program/Rust/index.md diff --git "a/docs/study/program/C/\346\236\204\345\273\272\345\267\245\345\205\267.md" "b/docs/study/program/C/\346\236\204\345\273\272\345\267\245\345\205\267.md" index 787a3378b..05563009f 100644 --- "a/docs/study/program/C/\346\236\204\345\273\272\345\267\245\345\205\267.md" +++ "b/docs/study/program/C/\346\236\204\345\273\272\345\267\245\345\205\267.md" @@ -12,6 +12,10 @@ 在 linux 上编译一个工程需要先调用./configure,大部分 linux 开源项目都使用 autotools 编译架构来生成 configure 这个脚本文件。通过在执行./configure,产生 Makefile,src/Makefile,config.h,为下一步编译做准备。随后调用 make 进行编译。 +GNU 构建系统,是利用脚本和 make 程序在特定的平台上构建软件的过程。一般过程是 configure,make,make install 三部曲。这种方式成为一种习惯,被广泛使用。 +为了简化可移植构建的难度,早期有一套 AutoTools 的工具帮助程序员构建软件。configure,make,make install 三部曲,大多都是基于 Auto Tools 来构建的。Auto Tools 是 GNU 程序的标准构建系统。 + ### 参考 - [CSDN-Autotools 笔记](https://blog.csdn.net/qq_27870421/article/details/99621737) +- [简书-Autotools 工具](https://www.jianshu.com/p/b3b0a090a01e) diff --git a/docs/study/program/Rust/index.md b/docs/study/program/Rust/index.md new file mode 100644 index 000000000..9b8ec34f8 --- /dev/null +++ b/docs/study/program/Rust/index.md @@ -0,0 +1,30 @@ +# Rust + +一门赋予每个人构建可靠且高效软件能力的语言。 + +创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust 是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现 Null 指针等等。 + +Rust 致力于成为优雅解决高并发和高安全性系统问题的编程语言 ,适用于大型场景,即创造维护能够保持大型系统完整的边界。这就导致了它强调安全,内存布局控制和并发的特点。标准 Rust 性能与标准 C++性能不相上下。 + +### 为什么选择 Rust + +#### 高性能 + +Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。 + +#### 可靠性 + +Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。 + +#### 生产力 + +Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。 + +### 内存管理 + +Rust 不像 Go,Java 以及.NET Framework 那样使用自动垃圾回收系统。不同的是 Rust 通过 RAII 来管理内存和资源,还可选引用计数。Rust 以低开销提供资源确定性管理。Rust 也支持值的栈分配并不表现暗箱。 + +### 参考 + +- [官方网站](https://www.rust-lang.org/zh-CN) +- [百度百科-Rust 语言](https://baike.baidu.com/item/Rust%E8%AF%AD%E8%A8%80/9502634)