7个版本

0.3.0 2023年11月13日
0.2.0 2023年10月15日
0.1.4 2021年11月19日
0.1.3 2019年9月3日
0.1.2 2019年8月14日

过程宏 中排名第1553

Download history 5453/week @ 2024-03-14 6739/week @ 2024-03-21 5541/week @ 2024-03-28 5509/week @ 2024-04-04 7121/week @ 2024-04-11 5696/week @ 2024-04-18 4280/week @ 2024-04-25 4868/week @ 2024-05-02 5516/week @ 2024-05-09 5321/week @ 2024-05-16 6110/week @ 2024-05-23 6391/week @ 2024-05-30 5720/week @ 2024-06-06 9190/week @ 2024-06-13 8037/week @ 2024-06-20 6562/week @ 2024-06-27

每月下载量 30,483
92 crate 中使用(直接使用 2 个)

Apache-2.0

16KB
296 代码行

include-flate

!CI crates.io docs.rs

一种类似 include_bytes!/include_str! 的变体,具有编译时解压缩和运行时懒加载。

为什么?

include_bytes!/include_str! 非常适合将资源嵌入到可执行文件/库中,而无需涉及维护资源管理器的复杂逻辑。然而,它们以原样复制到工件中,导致二进制文件大小不必要地增大。此库会自动压缩资源,并在运行时懒加载它们,允许二进制文件大小更小。

尽管如此,这不可避免地会导致浪费RAM来存储压缩和解压缩的数据,如果数据太大,这可能会不理想。如果二进制文件包含太多不需要始终保留在RAM中的资源,则仍然需要实际的安装程序。

警告

此库独立压缩包含的数据。通常,一起压缩整个输出二进制文件(例如,分发 .exe.gz)比独立压缩更有效。此外,压缩算法通常通过处理原始输入来产生更小的工件,而不是处理已经压缩的输出。可以使用 #[cfg_attr] 条件性地使用压缩或直接数据包含。

依赖项

~6.5MB
~106K SLoC