Rust 程序设计语言 简体中文版 1.85.0会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 Rust 来提升信心。例如,在 Rust 中引入并行是相 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、网络服务器等 常高效的 工具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测 试和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒 绝编译包含这些难以察觉的错误的代码,包括并发错误。通过与编译器合作,团队可以将时间 集中在程序逻辑上,而不是追踪 bug。 Rust 也为系统编程世界带来了现代化的开发工具: • Cargo 是内置的依赖管理器和 简体中文版 重视速度和稳定性的开发者 Rust 适合那些渴望在编程语言中寻求速度与稳定性的开发者。对于速度来说,既是指 Rust 可 以运行的多快,也是指编写 Rust 程序的速度。Rust 编译器的检查确保了增加功能和重构代码 时的稳定性,这与那些缺乏这些检查的语言中脆弱的祖传代码形成了鲜明对比,开发者往往不 敢去修改这些代码。通过追求零成本抽象(zero-cost abstractions)——0 码力 | 562 页 | 3.23 MB | 23 天前3
Comprehensive Rust(简体中文) 202412. 156 27.2 其他类型的测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 27.3 编译器 Lint 和 Clippy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 27.4 练习:卢恩算法 . . Cargo。 安装 请按照 https://rustup.rs/ 上的说明操作。 这将为你提供 Cargo 构建工具 (cargo) 和 Rust 编译器 (rustc)。你还将获得 rustup,这是一个命令 行实用程序, 你可以用它来安装不同的编译器版本。 安装 Rust 之后,你应当配置你的编辑器或 IDE 以开始使用 Rust。大多数编辑器使用了 rust-analyzer。 它为 VS 版本,这可能会导致意外的行为。命令如下: sudo apt install cargo rust-src rustfmt 2.1 Rust 生态系统 Rust 生态系统由许多工具组成,主要包括: • rustc:Rust 编译器,可将 .rs 文件转换为二进制文件和其他中间格式。 • cargo:Rust 依赖项管理器和构建工具。Cargo 知道如何下载托管在 https://crates.io 上的依赖 项, 并在构建项目时将它们传递给0 码力 | 359 页 | 1.33 MB | 10 月前3
2024 中国开源开发者报告了一篇题为“Brook for GPUs:Stream Computing on Graphics Hardware”的论文[17], 为 GPU 设计了一套支持流编程(Stream Programming)语言的编译器和运行时系统 Brook,从而能让开发者像在通用 CPU 上那样进行编程。这项工作旋即得到英伟达的青睐, 于是 Buck 博士毕业后便立刻加入英伟达,带领两位工程师创立了 CUDA 项目。2007 处理器架构中 CPU 一般采用 ARM、GPU 往往采用 Imagination, NPU 自研,因而需要三套软件栈,如果都是采用基于 RISC-V 为基座来扩展 AI 指令集,那 么就可以使用一套编译器和运行时(不同编译选项)。 2. 无需考虑 DMA 操作的编程范式。当前 AI 处理器解决方案中需要通过 DMA 拷贝数据,基 于 RISC-V 可实现紧耦合设计共享地址空间,从而避免显式的 DMA 延迟。 最近硅谷还有一个非常火的公司叫做 Cursor,它的官网上专门有一篇文章描述:「怎么用 已有编译器传统智能帮助大模型生成一个更高效可靠的代码」,证明 Cursor 也预见到了 AI 代 码生成需要更为宏观的看到工具链上的每一环,工具链包括:编程语言、集成开发环境(IDE)、 调试器、编译器和构建工具等。 但因为 Cursor 是一个做 IDE 的公司,它本身不拥有编程语言的服务,如果能从编程语言开0 码力 | 111 页 | 11.44 MB | 8 月前3
Python 2.7.18 正则表达式 HOWTO 我们首先要了解最简单的正则表达式。由于正则表达式用于对字符串进行操作,因此我们将从最常见的任务 开始:匹配字符。 有关正则表达式(确定性和非确定性有限自动机)的计算机科学的详细解释,你可以参考几乎所有有关编写 编译器的教科书。 2.1 匹配字符 大多数字母和字符只会匹配自己。例如,正则表达式 test 将完全匹配字符串 test 。(你可以启用一个不区 分大小写的模式,让这个正则匹配 Test 或 TEST,稍后会详细介绍。) 'insuperable').span() (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re.search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以确定匹配的第一 个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描字符串,寻找起始字 符,只在找到 'C'0 码力 | 18 页 | 369.95 KB | 11 月前3
Python 2.7.18 正则表达式 HOWTO 我们首先要了解最简单的正则表达式。由于正则表达式用于对字符串进行操作,因此我们将从最常见的任务 开始:匹配字符。 有关正则表达式(确定性和非确定性有限自动机)的计算机科学的详细解释,你可以参考几乎所有有关编写 编译器的教科书。 2.1 匹配字符 大多数字母和字符只会匹配自己。例如,正则表达式 test 将完全匹配字符串 test 。(你可以启用一个不区 分大小写的模式,让这个正则匹配 Test 或 TEST,稍后会详细介绍。) 'insuperable').span() (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re.search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以确定匹配的第一 个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描字符串,寻找起始字 符,只在找到 'C'0 码力 | 18 页 | 369.95 KB | 11 月前3
Python 2.7.18 正则表达式 HOWTO 我们首先要了解最简单的正则表达式。由于正则表达式用于对字符串进行操作,因此我们将从最常见的任务 开始:匹配字符。 有关正则表达式(确定性和非确定性有限自动机)的计算机科学的详细解释,你可以参考几乎所有有关编写 编译器的教科书。 2.1 匹配字符 大多数字母和字符只会匹配自己。例如,正则表达式 test 将完全匹配字符串 test 。(你可以启用一个不区 分大小写的模式,让这个正则匹配 Test 或 TEST,稍后会详细介绍。) 'insuperable').span() (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re.search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以确定匹配的第一 个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描字符串,寻找起始字 符,只在找到 'C'0 码力 | 18 页 | 369.95 KB | 11 月前3
Python 3.10.15 正则表达式 HOWTO 让我们从最简单的正则表达式开始吧。由于正则表达式是用来操作字符串的,我们将从最常见的任务开始: 匹配字符。 关于正则表达式背后的计算机科学的详细解释(确定性和非确定性有限自动机),你可以参考几乎所有关于 编写编译器的教科书。 2.1 匹配字符 大多数字母和符号都会简单地匹配自身。例如,正则表达式 test 将会精确地匹配到 test 。(你可以启用不 区分大小写模式,让这个正则也匹配 Test 或 TEST 'insuperable').span()) (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re.search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以确定匹配的第一 个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描字符串,寻找起始字 符,只在找到 'C'0 码力 | 18 页 | 391.85 KB | 11 月前3
Python 3.8.20 正则表达式 HOWTO 让我们从最简单的正则表达式开始吧。由于正则表达式是用来操作字符串的,我们将从最常见的任务开 始:匹配字符。 关于正则表达式背后的计算机科学的详细解释(确定性和非确定性有限自动机),你可以参考几乎所有关 于编写编译器的教科书。 2.1 匹配字符 大多数字母和符号都会简单地匹配自身。例如,正则表达式 test 将会精确地匹配到 test 。(你可以启 用不区分大小写模式,让这个正则也匹配 Test 或 TEST 'insuperable').span()) (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re. search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以 确定匹配的第一个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描 字符串,寻找起始字符,只在找到 'C'0 码力 | 17 页 | 393.47 KB | 11 月前3
Python 3.8.20 正则表达式 HOWTO 让我们从最简单的正则表达式开始吧。由于正则表达式是用来操作字符串的,我们将从最常见的任务开 始:匹配字符。 关于正则表达式背后的计算机科学的详细解释(确定性和非确定性有限自动机),你可以参考几乎所有关 于编写编译器的教科书。 2.1 匹配字符 大多数字母和符号都会简单地匹配自身。例如,正则表达式 test 将会精确地匹配到 test 。(你可以启 用不区分大小写模式,让这个正则也匹配 Test 或 TEST 'insuperable').span()) (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re. search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以 确定匹配的第一个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描 字符串,寻找起始字符,只在找到 'C'0 码力 | 17 页 | 393.47 KB | 11 月前3
Python 3.10.15 正则表达式 HOWTO 让我们从最简单的正则表达式开始吧。由于正则表达式是用来操作字符串的,我们将从最常见的任务开 始:匹配字符。 关于正则表达式背后的计算机科学的详细解释(确定性和非确定性有限自动机),你可以参考几乎所有关 于编写编译器的教科书。 2.1 匹配字符 大多数字母和符号都会简单地匹配自身。例如,正则表达式 test 将会精确地匹配到 test 。(你可以启 用不区分大小写模式,让这个正则也匹配 Test 或 TEST 'insuperable').span()) (2, 7) 有时你会被诱惑继续使用 re.match() ,只需在你的正则前面添加 .* 。抵制这种诱惑并使用 re. search() 代替。正则表达式编译器对正则进行一些分析,以加快寻找匹配的过程。其中一个分析可以 确定匹配的第一个特征必须是什么;例如,以 Crow 开头的模式必须与 'C' 匹配。分析让引擎快速扫描 字符串,寻找起始字符,只在找到 'C'0 码力 | 17 页 | 393.01 KB | 11 月前3
共 60 条
- 1
- 2
- 3
- 4
- 5
- 6













