Rust 程序设计(第 2 版)
Jim Blandy, Jason Orendorff, Leonora F. S. Tindall
软件工程师
1469 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
课程目录
已完结/共 41 讲
时长 02:41
时长 06:30
时长 10:04
时长 01:05
时长 50:06
时长 31:35
时长 34:39
时长 29:11
时长 37:15
时长 23:44
时长 44:19
时长 29:54
时长 39:01
时长 01:38
时长 01:15
时长 00:37
Rust 程序设计(第 2 版)
15
15
1.0x
00:00/00:00
登录|注册

第 1 章 系统程序员也能享受美好

在某些情况(例如 Rust 的目标环境)下,比竞争对手快 10 倍,哪怕只快两倍就能成为决胜的关键。速度决定了一个系统在市场上的命运,就像在硬件市场上一样。
——Graydon Hoare
现在所有的计算机都支持并行……并行编程就是编程。
——《结构化并行程序设计:高效计算模式》,Michael McCool 等
就连 TrueType 解析器的缺陷都会被攻击者用于监视。安全性对所有软件都很重要。
——Andy Wingo
我们用这 3 条引言作为本书的开篇是别有深意的。但还是先从一个“谜题”开始吧。下面的 C 程序是做什么的?
int main(int argc, char **argv) {
unsigned long a[1];
a[3] = 0x7ffff7b36cebUL;
return 0;
}
今天早上,这个程序在 Jim 的笔记本计算机上打印出了下列内容:
undef: Error: .netrc file is readable by others.
undef: Remove password or make file unreadable by others.
然后它就崩溃了。如果你在自己的机器上尝试运行这个程序,则可能会出现不一样的结果。这是怎么回事呢?
这个程序存在缺陷。数组 a 只有一个元素长,所以根据 C 编程语言标准,使用 a[3]未定义行为(undefined behavior)
当使用一个不可移植的或错误的程序结构或者数据时,如果本国际标准对其行为没有强制要求,那么此行为就是未定义的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Rust语言在系统编程中的优势和吸引力 Rust语言为系统程序员提供了高性能的默认选项,并赋予了自主控制内存使用和处理器算力分配方式的能力。文章强调了Rust语言对解决未定义行为和提供安全性的承诺,以及其在并行编程方面的优势。Rust的包管理器和构建工具Cargo能够轻松使用别人在Rust的公共包存储库crates.io网站上发布的各种库,实现健全的版本管理和可重现的构建。此外,Rust语言本身旨在支持协作,借助特型和泛型,可以创建具有灵活接口的库,将其用在许多不同的上下文中。总的来说,Rust语言在系统编程中展现出了其技术特点和应用前景,为读者展示了其在性能、安全性和协作方面的优势。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 程序设计(第 2 版)》
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • Camio1945
    听着听着就发现是 AI 在读。不过表现也挺不错的了。
    2024-02-16归属地:湖北
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部