文章437
标签235
分类57
NEW
Rust中Future执行底层探秘

Rust中Future执行底层探秘

众所周知Rust中的异步async/.await代码在编译时会被转换为Future+Waker+Executor的事件状态机的执行;

下面我们通过标准库和futures库提供的功能,手写Future的实现,加深对async/.await编译后Future执行的理解;

源代码:


NEW
通过一个例子学习Cargo Features

通过一个例子学习Cargo Features

在C、C++中我们经常会使用#define、#ifdef等预处理指令进行条件编译,这样会提升编译速度、减少编译后文件大小,在某些场景下会非常有用;

例如:某些和具体平台实现相关的代码,在win平台下使用时,其实无需编译linux平台下的代码;

本文通过一个例子讲解了Cargo Features是如何实现的;

源代码:


Rust反射之过程宏

Rust反射之过程宏

Rust反射之Any

Rust反射之Any

Rust中的比较

Rust中的比较

Cargo命令及其扩展

Cargo命令及其扩展

用过Rust中Cargo工具的,都会对其赞叹不已;

Cargo 不光支持代码格式化、构建、项目管理,还具备良好的可扩展性,同时也支持第三方的插件工具;

本文讲述了一些常见的Cargo命令,同时讲述了如何编写一个Cargo扩展插件;

源代码:


Rust中的默认初始化和初始化重载

Rust中的默认初始化和初始化重载

Rust中没有面向对象中的构造函数的概念,取而代之,通常情况下在初始化一个变量时就要为其所有的字段赋值!

有的时候这样比较麻烦,可以使用 Default 和 With Trait 来简化初始化操作;

源代码:


Rust模块组织结构

Rust模块组织结构

Rust中的错误处理

Rust中的错误处理

为Cargo编译的可执行文件增加commit版本号

为Cargo编译的可执行文件增加commit版本号