#资源 #压缩 #运行时 #编译时 #懒加载 #代码生成 #二进制

include-flate-codegen-exports

为 include-flate crate 实现宏代码生成

2 个版本

0.1.4 2021年11月19日
0.1.3 2019年9月3日

#1374 in 开发工具

Download history 5170/week @ 2024-03-14 6431/week @ 2024-03-21 5252/week @ 2024-03-28 5238/week @ 2024-04-04 6818/week @ 2024-04-11 5393/week @ 2024-04-18 4070/week @ 2024-04-25 4419/week @ 2024-05-02 4967/week @ 2024-05-09 4952/week @ 2024-05-16 5821/week @ 2024-05-23 6058/week @ 2024-05-30 5364/week @ 2024-06-06 8874/week @ 2024-06-13 7663/week @ 2024-06-20 6334/week @ 2024-06-27

每月下载 29,167 次

Apache-2.0 许可

3KB

include-flate

!CI crates.io docs.rs

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

为什么?

include_bytes!/include_str! 适用于将资源嵌入到可执行文件/库中,而不涉及维护资源管理器的复杂后勤工作。然而,它们被原样复制到工件中,导致二进制文件大小不必要地增大。这个库会自动压缩资源,并在运行时懒加载它们,从而允许更小的二进制文件大小。

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

警告

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

依赖关系

~2MB
~41K SLoC