7个版本 (4个重大更新)
| 0.5.0 | 2020年10月25日 |
|---|---|
| 0.4.1 | 2020年9月16日 |
| 0.3.1 | 2019年4月3日 |
| 0.2.0 | 2019年1月27日 |
| 0.1.0 | 2019年1月26日 |
#397 在 内存管理 中
每月48次下载
在 2 个Crates中使用(通过 embedded-executor)
7KB
78 行
alloc-facade:std-or-alloc API Facade
alloc crate通常用于几乎兼容no_std的crate中,并且只需要分配能力来完成其任务。在开发这样的"可能使用std,可能使用alloc"的crate时,通常遇到的问题是,对于std变体,所有内容都可在引入文件或std::路径下找到,而在仅使用alloc的情况下,必须手动引入引入文件,并且所有内容都位于alloc::路径下。
为了解决这个问题,可以在所有需要的引入上简单地使用#[cfg(...)]条件,但这很快就会变得丑陋且难以控制。更好的方法是使用一个门面,该门面根据当时正在使用的情况重新导出来自std或alloc的API。
该crate提供这样的门面。只需确保启用其std或alloc功能之一,它就会为两种情况提供相同的可导入API结构。可选地,还可以启用futures功能以提供task模块。
setup_imports宏
而不是直接使用这个门面crate,您也可以使用setup_imports宏,该宏将在您的自己的crate中生成类似的门面。如果启用no_std和alloc的条件比简单的功能标志更复杂,则很有用。有关更多详细信息,请参阅其文档。线程安全的引用计数指针