博客
关于我
【Rust日报】 2020-08-20 Chrome 的 Rust 与 C++ 的互操作性
阅读量:691 次
发布时间:2019-03-17

本文共 1496 字,大约阅读时间需要 4 分钟。

Chrome 的 Rust 与 C++ 的互操作性

这是 www.chromium.org 上关于 chromium 内存安全的一篇博文,Chrome 工程师正在尝试 Rust。在可预见的将来,C++ 仍然在代码库中占据主导地位,所以如果任何地方使用 Rust,都需要考虑与 C++ 相适应。这似乎提出了一些 C++/Rust 互操作性的挑战,而在这之前其他人都没有遇到过。

更多详情请看:https://www.chromium.org/Home/chromium-security/memory-safety/rust-and-c-interoperability

Rust on Arduino Uno

这是作者使用 Rust 在 Arduino 上实践的系列博文的第一篇,如何在 Arduino Uno 上点亮小灯????。在撰写本文时,大约一个月前,avr-rust 分支被合并了(https://github.com/rust-lang/rust/issues/44052)。这意味着现在可以通过仅运行cargo + nightly 构建,为目标(avr-unknown-unknown)提供一个 .cargo/config.toml 来为 avr 微控制器板编译 Rust 程序。

更多请看原文:https://creativcoder.dev/rust-on-arduino-uno

Async 项目比较

Rust 的将异步代码引入语言的方法比较新颖,它没有将异步系统与语言打包在一起,例如 Golang 提供的内置 goroutine 的方法,而是提供了一个接口,供独立的库开发人员使用以实现异步给定进程的运行时。所以博文对 Futures、Tokio、async-std、smol、Actix、embrio、Bastion 这些 async 生态的库做了个总结,更多请看原文:https://runrust.miraheze.org/wiki/Async_crate_comparison#Comparison_of_Async_Ecosystems

Gfx-rs

gfx-rs 是 Rust 实现的低级,跨平台图形和计算抽象库,gfx-rs 社区的目标是使 Rust 中的图形编程变得容易,快速和可靠。项目地址:https://github.com/gfx-rs/gfx

async-rwlock

stjepang 的新轮子 async-rwlock(https://github.com/stjepang/async-rwlock),异步读写锁。这种类型的锁允许在任何时间点上有多个读取器或一个写入器。

示例:

use async_rwlock::RwLock;let lock = RwLock::new(5);// Multiple read locks can be held at a time.let r1 = lock.read().await;let r2 = lock.read().await;assert_eq!(*r1, 5);assert_eq!(*r2, 5);drop((r1, r2));// Only one write lock can be held at a time.let mut w = lock.write().await;*w += 1;assert_eq!(*w, 6);

From 日报小组 @Jancd @Downtime

社区学习交流平台订阅:

  • Rust.cc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

转载地址:http://ibohz.baihongyu.com/

你可能感兴趣的文章
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>
Navicat怎样筛选数据
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>
Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
查看>>
Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
查看>>