【Rust日報】 2020-08-20 Chrome 的 Rust 與 C++ 的互操做性

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語言中文社區

本文分享自微信公衆號 - Rust語言中文社區(rust-china)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。git

相關文章
相關標籤/搜索