Rust与C++的互操作性举例分析

发布时间:2021-11-24 11:27:01 作者:iii
来源:亿速云 阅读:396

这篇文章主要讲解了“Rust与C++的互操作性举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Rust与C++的互操作性举例分析”吧!

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

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

Rust on Arduino Uno

这意味着现在可以通过仅运行  cargo + nightly   构建,为目标(avr-unknown-unknown)提供一个   .cargo/config.toml   来为 avr 微控制器板编译 Rust 程序。

Async 项目比较

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

Gfx-rs

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

async-rwlock

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);
     

感谢各位的阅读,以上就是“Rust与C++的互操作性举例分析”的内容了,经过本文的学习后,相信大家对Rust与C++的互操作性举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. C++代码举例分析
  2. C++语言举例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rust c++

上一篇:Docker中常见的基础命令有哪些

下一篇:Dockerfile如何制作LAMP

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》