前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】 2019-05-17:一个通用型嵌入式芯片烧录软件

【Rust日报】 2019-05-17:一个通用型嵌入式芯片烧录软件

作者头像
MikeLoveRust
发布2019-07-09 13:09:06
5780
发布2019-07-09 13:09:06
举报

「讨论」mio异步計時器如何使用?

官方說明文件

沒有範例程式碼,其實很難了解怎麼用

回覆中有人給出了答案

代码语言:javascript
复制
extern crate mio;
extern crate mio_extras;

use mio::*;
use mio_extras::timer::{Timer, Builder};

use std::time::Duration;

fn main()
{
    const TIMER: Token = Token(2);

    let poll = Poll::new().unwrap();
    let mut gman: Timer<u64> = Default::default();

    poll.register(&gman, TIMER, Ready::readable(), PollOpt::edge()).unwrap();
    let mut gman_tout1; 
    let mut events = Events::with_capacity(1024);
    gman_tout1 = gman.set_timeout(Duration::from_millis(2000), 9001);
    gman.cancel_timeout(&gman_tout1);

    loop {
        poll.poll(&mut events, None).unwrap();

        for event in &events {
            match event.token() {
                TIMER => {
                    println!("Timer-Event!");
                    if gman.poll() == Some(9001) {
                        println!("my timeout occured");
                    }
                },
                _ => println!("awkward"),
            }
        }
    }
}

Read more

「比原生更快:在 Linux 内核中运行 WebAssembly」

WASM 運行在kernel 會得到性能跟靈活性,

作者覺得是一個很有前景的應用,

我個人覺得WASM之後應該會加上一些IO函數變成一個跨平台的新標準。

(文章里主要是说wasmer这个WASM运行时)

中文介紹 Read more

一个通用型嵌入式芯片烧录软件

目前还只支持windows和st-link,长远目标是代替OpenOCD。目前比竞品好的地方是可以同时烧两个芯片,这样做双机通讯测试就不用插拔dongle了

来自 @洛佳

Read more

零成本抽象

官方核心团队无船同志的新博文,探讨了「零成本抽象」。

零成本抽象在C++跟Rust是一個很重要的概念

簡單來說就是:不希望有很大很重的runtime,並且可以在編譯時被優化。

作者覺得 rust 有幾個很棒的 零成本抽象

  1. 所有權、借用

保證内存的正確使用

  1. 迭代器、閉包函數

可以輕鬆的串接 map, filter 等函數做處理

  1. await 异步函數

當前的await語法雖然還沒有確定,但使用pinning 做到零成本抽象是確定的

  1. Unsafe 函數、模块邊界

由於rust的語法複雜性,有很多實作會需要Unsafe的底層實作

這些Unsafe函數實作了零成本抽象的底層

讓我們在上層能安全的使用這些模块

另外无船同志还表示:trait对象目前不是零成本抽象,他想花点时间(至少需要18个月)去研究这个问题,然而总是有更优先的事情。

  • Reddit 讨论
  • Read More

wasm-bindgen v0.2.44 开始支持futures 0.3和async/await

wasm 已經可以使用 async了,快看看怎麼用吧

  • Reddit讨论
  • Read More

Terraform 產生3D地形

透過google map得到高度圖,再轉換成3D模形

裡面影片是youtube


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 「讨论」mio异步計時器如何使用?
  • 「比原生更快:在 Linux 内核中运行 WebAssembly」
  • 一个通用型嵌入式芯片烧录软件
  • 零成本抽象
  • wasm-bindgen v0.2.44 开始支持futures 0.3和async/await
  • Terraform 產生3D地形
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档