百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
H

heatshrink

> 编程语言
开源

用于嵌入式/实时系统的数据压缩库

1.5K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

用于嵌入式/实时系统的数据压缩库

热缩

一个用于嵌入式/实时系统的数据压缩/解压缩库。

关键特性:

  • 内存占用量低(最低为 50 字节) 对于少于 50 字节的某些情况,此方法是有用的。 对于许多 < 300 字节的一般情况。
  • 逐步增加的、受限的 CPU 使用 您可以以任意小的量来处理输入数据。 在严格的实时环境中,这是一个有用的属性。
  • 可以使用静态或动态内存分配 库不对内存管理施加任何限制。
  • ISC 许可证 您可以自由使用它,甚至用于商业目的。

开始使用:

有一个独立的命令行程序 heatshrink, 但编码器和解码器也可以作为独立的库使用。要这样做,请将 heatshrink_common.h,heatshrink_config.h 以及 heatshrink_encoder.c 或 heatshrink_decoder.c (及其相应的头文件)复制到您的项目中。对于同时使用两者的项目,将构建静态库,使用静态和动态分配。默认情况下使用动态分配,但在嵌入式环境中,您可能希望静态分配编码器/解码器。在 heatshrink_config.h 中将 HEATSHRINK_DYNAMIC_ALLOC 设置为 0。

  1. 使用 heatshrink_encoder 或 heatshrink_decoder 的 alloc 函数分配状态机,或者静态分配一个并调用其 reset 函数初始化它们。 (请参阅下面的配置选项。)

  2. 使用 poll 将状态机的输出移动到输出缓冲区。output_size 指针参数将被设置为指示输出了多少字节,函数的返回值将指示是否还有更多的输出可用。(状态机可能在收到足够的输入之前不会输出任何数据。) 重复步骤 2 和 3 以通过状态机流式传输数据。由于它进行数据压缩,输入和输出的大小可能会大幅度不同。循环次数为 n

Issues· 42 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言