当前位置:嗨网首页>书籍在线阅读

01-内存管理和安全性

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第5章 内存管理和安全性

对任何使用底层编程语言的人来说,内存管理都是最基础的概念。底层语言没有类似内置GC的自动内存回收解决方案,程序员需要负责管理程序使用的内存。了解内存在程序中的使用和工作原理,有助于程序员构建高效且安全的软件系统。底层软件中的许多错误都是由内存使用不当造成的。有时,这是因为程序员的失误。它通常会给编程语言带来负面影响,例如C和C++,使用它们构造的软件产生了大量“臭名昭著”的内存漏洞报告。Rust为内存管理提供了更好的编译期解决方案,除非你刻意为之,否则很难编写出存在内存漏洞的软件。使用Rust进行了大量开发工作的程序员最终会意识到它不鼓励糟糕的编程实践,且会指导程序员编写安全且高效地使用内存的软件。

在本章中,我们将详细介绍Rust如何处理程序中资源对内存的使用,还会简要介绍进程、内存分配、内存管理,以及内存安全的含义。然后,我们将探讨Rust提供的内存安全模型,并了解其能够在编译期跟踪内存使用情况的特性。你将看到如何使用特征来管理驻留内存中的类型,以及何时释放它们。我们还将深入研究各种智能指针类型,这些类型提供抽象以管理程序中的资源。

在本章中,我们将介绍以下主题。

  • 程序和内存。
  • 内存分配和安全性。
  • 内存管理。
  • 堆栈和堆。
  • 安全三要素——所有权、借用及生命周期。
  • 智能指针类型。