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
的条件比简单的功能标志更复杂,则很有用。有关更多详细信息,请参阅其文档。线程安全的引用计数指针