溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Rust與C++的互操作性舉例分析

發(fā)布時(shí)間:2021-11-24 11:27:01 來源:億速云 閱讀:382 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Rust與C++的互操作性舉例分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Rust與C++的互操作性舉例分析”吧!

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

這是 www.chromium.org 上關(guān)于 chromium 內(nèi)存安全的一篇博文,Chrome 工程師正在嘗試 Rust。在可預(yù)見的將來,C++ 仍然在代碼庫中占據(jù)主導(dǎo)地位,所以如果任何地方使用 Rust,都需要考慮與 C++ 相適應(yīng)。這似乎提出了一些 C++/Rust 互操作性的挑戰(zhàn),而在這之前其他人都沒有遇到過。

Rust on Arduino Uno

這意味著現(xiàn)在可以通過僅運(yùn)行  cargo + nightly   構(gòu)建,為目標(biāo)(avr-unknown-unknown)提供一個(gè)   .cargo/config.toml   來為 avr 微控制器板編譯 Rust 程序。

Async 項(xiàng)目比較

Rust 的將異步代碼引入語言的方法比較新穎,它沒有將異步系統(tǒng)與語言打包在一起,例如 Golang 提供的內(nèi)置 goroutine 的方法,而是提供了一個(gè)接口,供獨(dú)立的庫開發(fā)人員使用以實(shí)現(xiàn)異步給定進(jìn)程的運(yùn)行時(shí)。所以博文對(duì) Futures、Tokio、async-std、smol、Actix、embrio、Bastion 這些 async 生態(tài)的庫做了個(gè)總結(jié),  更多請(qǐng)看原文  :

Gfx-rs

gfx-rs 是 Rust 實(shí)現(xiàn)的低級(jí),跨平臺(tái)圖形和計(jì)算抽象庫,gfx-rs 社區(qū)的目標(biāo)是使 Rust 中的圖形編程變得容易,快速和可靠。

async-rwlock

stjepang 的新輪子 async-rwlock,異步讀寫鎖。這種類型的鎖允許在任何時(shí)間點(diǎn)上有多個(gè)讀取器或一個(gè)寫入器。
示例:
  
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);
     

感謝各位的閱讀,以上就是“Rust與C++的互操作性舉例分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Rust與C++的互操作性舉例分析這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI