< 返回版块

Jancd 发表于 2021-02-04 22:29

Tags:rust,news

CNCF 毕业项目 TiKV 正在招募学员!

TiKV LFX 指导计划已经开启,如果你正在想获得更多开源项目经验,并熟悉 𝗥𝘂𝘀𝘁,你可以在 2 月 12 号前前往申请:https://twitter.com/tikvproject/status/1357043353360162817

使用 Rust 无畏并发【给C++开发者】

多线程很难,C++ 也很难。作者将演示如何通过使用 Rust 来避免 C++ 中的一些陷阱,从而使多线程至少更容易一点。

此处列出的一些 C++ 示例是来自 Top 20 C++ 多线程错误的示例的修改版本,以及 Deb Haidar 如何避免这些错误,我自己做了一些其他的弥补。

请记住,这里列出的所有示例都是 demo:在现实世界的代码库中,多线程通常比这复杂得多,而在 C++ 中防止这些错误可能要困难得多。在 Rust 中,即使在那些复杂的情况下,编译器仍会检查您在做什么,以防止你犯这些错误。

原文:https://radekvit.medium.com/making-concurrency-fearless-with-rust-for-c-developers-d5d8da50a452

rusty-bomber游戏项目总结

社区大佬使用 bevy项目总结,作者对著名的 BomberMan 小游戏使用 bevy 复刻:https://rustcc.cn/article?id=f34cb19c-f295-48bd-848e-879c83bab767

full_search项目

一个实用的实践项目,基于 Tantivy 实现的 Flutter 本地全文搜索插件(支持 async)【Tantivy是使用 Rust 编写的全文搜索引擎库,灵感来自Apache Lucene。】项目地址:https://github.com/yiv/full_search

vtkio 项目

vtkio 是可视化工具包(VTK)文件格式的解析器和编辑器,项目地址:https://github.com/elrnv/vtkio

使用实例:

use vtkio::model::*; // import model definition of a VTK file
use vtkio::{import, export_ascii};
fn main() {
    use std::path::PathBuf;
    let file_path = PathBuf::from("assets/tet.vtk");
    
    let mut vtk_file = import(&file_path)
        .expect(&format!("Failed to load file: {:?}", file_path));
    
    vtk_file.version = Version::new((4,2)); // arbitrary change

    export_ascii(vtk_file, &file_path)
        .expect(&format!("Failed to save file: {:?}", file_path));
}

From 日报小组 @Jancd @Cupnfish

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页