geekard's recent timeline updates
geekard

geekard

V2EX member #4774, joined on 2011-01-06 19:17:46 +08:00
Today's activity rank 14944
geekard's recent replies
FnOnce 有两个含义:
1. 作为泛型参数的限界,表示该闭包只会被调用一次;
2. 作为传参的闭包函数,它的类型由编译器自动推导,比如 move 捕获的对象时,就只实现了 FnOnce 。

对于第一种作为限界的 FnOnce ,可以传入的闭包类型是最宽松的,也就是可以传入 实现 FnOnce/Fn/FnMut 的闭包。
@zeusho871 从个人的实践看,Rust 和 C 的互操作性,兼容性还是挺好的,而且是 Rust 语言和标准库直接支持的,例如:
1. 使用 Rust 函数可以通过 extern "C" 修饰来生成符合 C ABI 规范的 lib ,从而可以被 C 代码直接调用;
2. 反过来 C lib 中的函数,也可以通过 FFI 机制被 Rust 直接调用;

对于 ESP32 来说,也是同时支持 Rust 和 C 混合开发的,具体可以参考我的 blog:
1. Rust 集成 C Component: https://blog.opsnull.com/rust-embedded/esp-rs-std-app/#%E4%B8%BA-rust-std-%E5%BA%94%E7%94%A8%E6%B7%BB%E5%8A%A0%E7%BB%84%E4%BB%B6-component
2. C 集成 Rust 模块: https://blog.opsnull.com/rust-embedded/esp-rs-std-cmake-app/
@zeusho871 嗯嗯,我 port 过一个 slint GUI printdemo 项目到 ESP32-S3-Box-3 开发版(附带用 Rust 手撸 了这个开发板使用的触摸屏驱动 https://github.com/opsnull/rust-slint-printdemo/blob/main/mcu-board-support/gt911.rs )整体交互效果还是比较流畅的: https://x.com/geekard_zj/status/1789599892987613295

Repo: https://github.com/opsnull/rust-slint-printdemo/tree/main
@EvanLuo42 嗯,ESP32 的 https://github.com/esp-rs/esp-hal/tree/main/esp-hal-embassy 为 esp-hal 提供了 embassy async Executor 实现,两者可以很好的协作。

esp-hal 项目的 example 下有大量 embassy 例子,比如: https://github.com/esp-rs/esp-hal/blob/main/examples/src/bin/embassy_hello_world.rs
@zeusho871 ESP32 处理器架构分两种类型:RISC-V 和 Xtensa ,其中 RISC-V target 是 Rust 官方工具链 Tier2 支持级别,也即 Rust 官方直接支持的。Xtensa 的 Rust 编译工具链是 Tier3 级别,目前是 Espressif 自己 fork 的一个项目 esp-rs/rust: https://github.com/esp-rs/rust

其它 ESP32 官方 Rust 开发库,都在 https://github.com/esp-rs 开源。

web 配网可以参考官方的这个 Rust example: https://github.com/esp-rs/esp-idf-svc/blob/master/examples/wifi.rs
Nov 27, 2020
Replied to a topic by GTD Python Pyenv 在 macOS big sur 上没法使用
安装最新分支版本即可:brew install --HEAD pyenv pyenv-virtualenv
@wpf375516041851
有的,截图只是一部分。GC 、Queue 、Locker 、RPC 的 qps 、latency 都有的。
Apr 13, 2017
Replied to a topic by geekard 云计算 和我一步步部署 kubernetes 集群
@zeroten 没这个打算。
Dec 17, 2012
Replied to a topic by zhonghua Emacs 用Emacs,手好累
@fangzhzh :将左边的Ctrl和Alt功能替换后,左边拇指Ctrl,右边拇指Alt,自我感觉很合适。
Dec 17, 2012
Replied to a topic by ThunderEX Python for line in open(*)里面怎么倒回去读上一行?
for line in open(*),这里的open()生成的是匿名文件对象,没法直接引用,能获得的就是下一行内容。即使有文件对象f,还需要知道上一行的字符数,这样才能seek()去。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2848 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 15:45 · PVG 23:45 · LAX 08:45 · JFK 11:45
♥ Do have faith in what you're doing.