Rust API可靠性分析与验证Rust优秀的语言设计避免了大量可能发生的潜在错误 2. 目前Rust程序合成的难点在于unsafe代码,泛型与trait,宏等 3. 保障Rust程序的可靠性仍然需要各种程序分析以及软件测试的手段 Thanks Rust China Conf 2021-2022 – Online, China0 码力 | 13 页 | 1.68 MB | 1 年前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯下载进度:对于一些涉及上传或下载的应用软件,进度显示能够给用户及时性的反馈。 ➢ 速度和流量限制:受到资费和网络状况的影响,传输速度和流量需要提供给用户设置。 ➢ 暂停和重试:网络传输需要提供给用户控制启动和暂停的控制手段。 ➢ 功耗:网络传输需要消耗终端设备资源,需要尽可能平衡功耗和传输速度。 ➢ 性能表现:网络传输不能影响到和用户直接交互的前台应用的表现。 Rust 与终端 HTTP 通信场景结合 Part0 码力 | 26 页 | 1.25 MB | 1 年前3
Rust 程序设计语言简体中文版外加如下几种情况: • 有害状态是非预期的行为,与偶尔会发生的行为相对,比如用户输入了错误格式的数据。 • 在此之后代码的运行依赖于不处于这种有害状态,而不是在每一步都检查是否有问题。 • 没有可行的手段来将有害状态信息编码进所使用的类型中的情况。我们会在第十七章 “将状 态和行为编码为类型” 部分通过一个例子来说明我们的意思。 如果别人调用你的代码并传递了一个没有意义的值,尽最大可能返回一个错误,如此库的用户 5 cargo install 命令用于在本地安装和使用二进制 crate。它并不打算替换系统中的包;它意 在作为一个方便 Rust 开发者们安装其他人已经在 crates.io 上共享的工具的手段。只有拥有二 进制目标文件的包能够被安装。二进制目标 文件是在 crate 有 src/main.rs 或者其他指定为二 进制文件时所创建的可执行程序,这不同于自身不能执行但适合包含在其他程序中的库目标文 里使用了一个 let 语句和模式来解 构了此元组;第十八章会讨论 let 语句中的模式和解构。现在只需知道使用 let 语句是一个 方便提取 mpsc::channel 返回的元组中一部分的手段。 让我们将发送端移动到一个新建线程中并发送一个字符串,这样新建线程就可以和主线程通讯 了,如示例 16-7 所示。这类似于在河的上游扔下一只橡皮鸭或从一个线程向另一个线程发送 聊天信息: 文件名:src/main0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0外加如下几种情况: • 有害状态是非预期的行为,与偶尔会发生的行为相对,比如用户输入了错误格式的数据。 • 在此之后代码的运行依赖于不处于这种有害状态,而不是在每一步都检查是否有问题。 • 没有可行的手段来将有害状态信息编码进所使用的类型中的情况。我们会在第十八章“将状 态和行为编码为类型”部分通过一个例子来说明我们的意思。 如果别人调用你的代码并传递了一个没有意义的值,尽最大可能返回一个错误,如此库的用户 安装二进制文件 cargo install 命令用于在本地安装和使用二进制 crate。它并不打算替换系统中的包;它意 在作为一个方便 Rust 开发者们安装其他人已经在 crates.io 上共享的工具的手段。只有拥有二 进制目标文件的包能够被安装。二进制目标 文件是在 crate 有 src/main.rs 或者其他指定为二 进制文件时所创建的可执行程序,这不同于自身不能执行但适合包含在其他程序中的库目标文 名字。这里使用了一个 let 语句和模式来解 构了此元组;第十九章会讨论 let 语句中的模式和解构。现在只需知道使用 let 语句是一个 方便提取 mpsc::channel 返回的元组中一部分的手段。 让我们将发送端移动到一个新建线程中并发送一个字符串,这样新建线程就可以和主线程通讯 了,如示例 16-7 所示。这类似于在河的上游扔下一只橡皮鸭或从一个线程向另一个线程发送 聊天信息: 文件名:src/main0 码力 | 562 页 | 3.23 MB | 28 天前3
Comprehensive Rust(日语) 202412Trying to print a borrowed RefCell just shows the message "{borrowed}". • Cell は安全性を確保するためのよりシンプルな手段であり、&self を受け取る set メソッド を備えています。ランタイムチェックは必要ありませんが、値を移動する必要があり、それによっ てコストが発生することがあります。 • Both RefCell into()) } • Result を返す Rust 関数は、C++ 側で例外に変換されます。 • スローされる例外は常に rust::Error 型で、主にエラーメッセージの文字列を取得する手段 を提供します。エラーメッセージは、エラー型の Display の実装から取得されます。 • Rust から C++ にパニックアンワインドを行うと、プロセスは必ず直ちに終了します。 37.2.8 関数ポインタが使いにくい。 247 44.2 CXX におけるエラー処理 CXX の Resultのサポート は、C++ 例外に依存しているため、Chromium では使用できま せん。以下の代替手段があります。 • Result の T の部分: – out パラメータを介して返すことができます(例: &mut T)。そのためには、T を FFI の境 界を越えて渡せる必要があります。たとえば、T 0 码力 | 381 页 | 1.36 MB | 10 月前3
Rust 语言学习笔记变量在线程中共 享的原因,可以看出来,共享内存比消息传递机制似乎要复杂许多。Rust 用了 引用计数的方式来解决第一个问题(即引入 Arc。)。 关于上面的第二个问题,Rust 语言及标准库提供了一系列的同步手段来解决。 同步指的是线程之间的协作配合,以共同完成某个任务。在整个过程中,需要 注意两个关键点:一是共享资源的访问, 二是访问资源的顺序。 在前面的章节中描述了如何访问共享资源,在本节中重点说明访问资源的顺序。0 码力 | 117 页 | 2.24 MB | 1 年前3
共 6 条
- 1













