转:Learn Rust the Dangerous Way-系列文章翻译-总述

news/2024/9/25 8:26:26/

原文地址

太精彩了,不转不足以表达我的喜爱。

前言

《Learn Rust the Dangerous Way》​cliffle.com/p/dangerust/

最近发现了一个学习Rust的优秀系列文章,本人准备对该系列文章进行翻译。

本文是《Learn Rust the Dangerous Way》系列文章翻译的第一篇

总述

《Learn Rust the Dangerous Way》是一系列文章,为可能没有正式 CS 背景的面向底层开发的C 程序员提供了 Rust 特性的上下文 - 那些工作在硬件、游戏引擎、系统内核等的人员。基本上就是,像我这样的人。

我已经把Rust加入了工具箱,我希望你也能拥抱Rust。

系列文章共有7篇,目录如下: 以下为英文目录的直译,链接指向英文原版文章。

0. Why Learn Rust the Dangerous Way? - 引言

  1. You can’t write C in just any ol’ language: - 把一个糟糕的优化过的C程序翻译成糟糕的优化过的不安全的Rust。
  2. References available upon request: - Rust引用和指针的异同,为什么我们会关心
  3. Measure what you optimize: - 仔细研究一下基于未初始化内存的优化,并将其转换为同样快的安全代码
  4. A more perfect union: - 考虑指针强制转换的替代方案,以及如何为不安全操作编写安全包装
  5. Making safe things from unsafe parts: - 最后将大部分程序转换为安全代码,并确保不安全的位是安全的。
  6. Let the compiler do the work: - 一个额外的部分,看看我们如何在原生Rust中习惯地编写程序,并依赖于自动矢量化使其快速。

译文目录:

0. Why Learn Rust the Dangerous Way? - 引言

  1. You can’t write C in just any ol’ language: - 把一个糟糕的优化过的C程序翻译成糟糕的优化过的不安全的Rust。
  2. References available upon request: - Rust引用和指针的异同,为什么我们会关心
  3. Measure what you optimize: - 仔细研究一下基于未初始化内存的优化,并将其转换为同样快的安全代码
  4. A more perfect union: - 考虑指针强制转换的替代方案,以及如何为不安全操作编写安全包装
  5. Making safe things from unsafe parts: - 最后将大部分程序转换为安全代码,并确保不安全的位是安全的。
  6. Let the compiler do the work: - 一个额外的部分,看看我们如何在原生Rust中习惯地编写程序,并依赖于自动矢量化使其快速。

http://www.ppmy.cn/news/1429094.html

相关文章

Centos 7部署sysbench测试Opengauss/MogDB性能

适配环境 操作系统版本:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:MogDB 5.0.3 mogdb快速安装 1、获取PTK $ curl --proto https --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh 2、生成config.yaml $ ptk …

阿里巴巴fastjson实现复制

以下为真实案例,供日常开发使用 package com.somnus.json;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.somnus.custom.domain.Area; import com.somnus.custom.domain.Employee; import com.somnus.custom.domain.Empl…

C 练习实例25

C 练习实例25 题目&#xff1a; 求12!3!...20!的和。 程序分析&#xff1a; 此程序只是把累加变成了累乘。 实例 #include <stdio.h>int main() {int i;long double sum,mix;sum0,mix1;for(i1;i<20;i){mixmix*i;sumsummix;} printf("%Lf\n",sum); }以…

Python exe 文件反编译为 Python 脚本

文章目录 前言版本反编译Python 可执行文件&#xff08;.exe&#xff09;反编译打包一个简单的 .exe 可执行文件提取 pyc 文件使用脚本提取使用工具提取 将 .pyc 文件转换为 Python 脚本入口运行类非入口运行类转换补全后的 pyc 文件uncompyle6 反编译在线工具 可能遇到的问题P…

环境感知——自动驾驶模型训练(菜鸟版本)

简述 本文用仿真工具录制下训练数据后&#xff0c;存到本地CSV文件中&#xff0c;本文仅用方向盘转角速度进行训练。 代码示例采用Jupyter编码&#xff0c;如在其他编辑器运行问题&#xff0c;请使用Jupyter. CSV文件中存储的数据如下&#xff1a; "center",&quo…

Django项目无法安装python-ldap依赖解决方案

最近工作中安排了一个Python web项目&#xff0c;使用Pycharm从git拉取代码后&#xff0c;配置号Python的解释器和pip后&#xff0c;Pycharm自动下载安装项目所需的依赖&#xff0c;但是有一个依赖django-auth-ldap4.1.0安装始终失败&#xff0c;最初的异常信息提示是&#xff…

5.1激光雷达跟随(冰达机器人)

5.1激光雷达跟随功能开发 5.1.1激光雷达跟随功能需求分析 在完成激光雷达跟踪之前&#xff0c;我们先来拆解一下功能。要实现跟随&#xff0c;首先需要确定跟随的目标&#xff0c;在这个例程中&#xff0c;我们使机器人根据离它最近的物体。周围物体的距离可以通过激光雷达测量…

.NET StackExchange.Redis 操作redis

下面是一个简单的示例&#xff0c;展示了如何使用 C# 中的 StackExchange.Redis 库与 Redis 进行交互&#xff0c;包括字符串&#xff08;String&#xff09;、哈希&#xff08;Hash&#xff09;、列表&#xff08;List&#xff09;、集合&#xff08;Set&#xff09;和有序集合…