Rust 程序设计语言 简体中文版 1.85.0
用来解释模块、路径、use关 键词和pub关键词如何在编译器中工作,以及大部分开发者如何组织他们的代码。我们将在本 章中举例说明每条规则,但这是回顾模块工作原理的绝佳参考。 • 从 crate 根节点开始: 当编译一个 crate, 编译器首先在 crate 根文件(通常,对于一个库 crate 而言是 src/lib.rs,对于一个二进制 crate 而言是 src/main.rs)中寻找需要被编译的代 的模块。编译器会在下列路径中寻找模块代码:- 内联,用大括号替换 mod garden 后跟的分号 • 在文件 src/garden.rs • 在文件 src/garden/mod.rs • 声明子模块: 在除了 crate 根节点以外的任何文件中,你可以定义子模块。比如,你可能在 src/garden.rs 中声明 mod vegetables;。编译器会在以父模块命名的目录中寻找子模块代 码:- 内联,直接在 mod vegetables Rc引用计数智能指针 大部分情况下所有权是非常明确的:可以准确地知道哪个变量拥有某个值。然而,有些情况单 个值可能会有多个所有者。例如,在图数据结构中,多个边可能指向相同的节点,而这个节点 从概念上讲为所有指向它的边所拥有。节点在没有任何边指向它从而没有任何所有者之前,都 不应该被清理掉。 为了启用多所有权需要显式地使用 Rust 类型 Rc ,其为引用计数(reference counting)的 0 码力 | 562 页 | 3.23 MB | 9 天前3人工智能安全治理框架 1.0
在逻辑缺陷、- 5 - 人工智能安全治理框架 漏洞等脆弱点,还可能被恶意植入后门,存在被触发和攻击利用的风险。 (b)算力安全风险。人工智能训练运行所依赖的算力基础设施,涉及多源、 泛在算力节点,不同类型计算资源,面临算力资源恶意消耗、算力层面风险跨 边界传递等风险。 (c)供应链安全风险。人工智能产业链呈现高度全球化分工协作格局。 但个别国家利用技术垄断和出口管制等单边强制措施制造发展壁垒,恶意阻断0 码力 | 20 页 | 3.79 MB | 28 天前3
共 2 条
- 1