https://ccodearchive.net/list.html
- a_star: A* 路径寻找算法的简单实现,用于在图中寻找最短路径。
- aga: 抽象图算法库,提供各种图相关功能。
- agar: 可重入的抽象图算法,适合在多线程环境中安全使用。
- alignof: 一个宏,用于确定类型的对齐方式,适用于低级编程。
- altstack: 一个函数,运行任务时使用专用堆栈,然后释放内存,适合特定任务的内存管理。
- antithread: 使用加速原生技术实现的线程,提供高效的线程功能。
- antithread/alloc: 为 antithread 设计的内存分配例程,管理线程应用的内存。
- argcheck: 运行时检查参数的宏,有助于调试和确保函数正确性。
- array_size: 一个例程,安全地推导可见数组的大小,防止缓冲区溢出等常见错误。
- asearch: 类型安全的二分搜索,比标准 bsearch 更安全。
- asort: 类型安全的数组排序,类似于 qsort 但具有类型安全。
- asprintf: asprintf 的包装器,类似于 sprintf 但动态分配字符串。
- autodata: 在二进制文件中存储指针以进行自动注册,可能用于数据注册或初始化。
- avl: 使用 AVL 树实现的关键-值字典,提供平衡二叉树操作以高效存储和检索数据。
- base64: Base64 编码和解码,用于将二进制数据编码为文本。
- bdelta: 生成和应用二进制增量,适用于补丁文件或增量更新。
- bitmap: 位图处理,用于在内存中操作位图。
- bitops: 位计数例程,如计数数字中设置的位数。
- block_pool: 高效的块分配器,不需要调整大小或释放,优化性能。
- breakpoint: 如果程序在调试器如 gdb 下运行,则中断,适用于调试。
- btree: 基于 B 树的高效排序关联容器,适合大型数据集。
- build_assert: 构建时断言,用于在编译时捕获错误。
- bytestring: 简单的字节串处理,用于操作原始字节。
- cast: 更安全的类型转换例程,防止类型不匹配和潜在错误。
- ccan_tokenizer: C 源文件的全文词法分析器,用于解析和分析 C 代码。
- cdump: 解析简单 C 结构的例程,可能用于调试或序列化。
- charset: 字符集转换和验证,用于处理不同字符编码。
- check_type: 编译时类型检查,确保类型正确并防止类型相关错误。
- ciniparser: 解析和操作 ini 风格的配置文件,常见于许多应用。
- compiler: 通用编译器扩展的宏,允许使用特定编译器功能。
- container_of: 上溯例程,从成员指针获取包含结构。
- coroutine: 协程,用于协作多任务和管理多个任务。
- cppmagic: 滥用 C 预处理器创建复杂宏,可能用于代码生成或优化。
- cpuid: 解析 x86/x86_64 CPU 的 CPUID 指令,获取 CPU 信息如功能和能力。
- crc: CRC(循环冗余校验)例程,用于字节的错误检测。
- crc32c: Castagnoli CRC(crc32c)字节,特定类型的 CRC 用于数据完整性。
- crcsync: 使用 CRC 进行类似 rsync 的协议,高效文件同步。
- crypto/hkdf_sha256: 实现 RFC5869 使用 SHA256 的强化密钥派生函数,用于安全密钥派生。
- crypto/hmac_sha256: 实现 RFC2104 使用 SHA256 的 HMAC,用于消息认证。
- crypto/ripemd160: 实现 RIPEMD 160 位摘要算法,加密哈希函数。
- crypto/sha256: 实现 SHA-2 256 位摘要,标准加密哈希函数。
- crypto/sha512: 实现 SHA-2 512 位摘要,另一个标准加密哈希函数。
- crypto/shachain: 紧凑表示的 256 位数字链,可能用于某些加密协议或应用。
- crypto/siphash24: 实现 SipHash-2-4,快速且安全的哈希函数。
- daemon_with_notify: 守护进程化一个进程,等待子进程信号准备就绪,适合需要通知的后台进程。
- daemonize: 将进程转换为良好行为的守护进程,处理标准守护进程化任务。
- darray: 通用可调整大小的数组,类似于其他语言的动态数组。
- deque: 类型保持的可调整大小的循环双端队列,可调整大小并保持类型安全。
- dgraph: 简单有向图模块,用于图操作和表示。
- edit_distance: 计算两个字符串之间的编辑距离,适用于文本处理和相似性测量。
- endian: 简单类型的字节序转换宏,跨平台兼容性。
- eratosthenes: 实现埃拉托色尼筛法,高效寻找素数。
- err: 提供 BSD 风格的错误报告函数如 err()、errx()、warn() 和 warnx(),一致的错误消息。
- failtest: 单元测试助手,用于测试 malloc 和其他失败场景,确保稳健性。
- fdpass: 通过套接字传递文件描述符的例程,适用于 Unix 类似系统中的进程间通信。
- foreach: 数组简单迭代的宏,使遍历数组更容易。
- generator: C 的生成器,允许生成函数可以产生值。
- grab_file: 文件辅助例程,可能用于高效读取或写入文件。
- hash: 哈希字节,通用哈希函数用于数据。
- heap: 简单堆实现,用于优先队列操作。
- htable: 哈希表例程,用于键-值存储和高效查找。
- idtree: ID 分配树,高效管理分配 ID。
- ilog: 整数对数,寻找整数的 2 进制对数。
- intmap: 整数到各种类型的有序映射,如整数键的排序映射。
- invbloom: 可逆布隆查找表的实现,允许高效插入、删除、查找和列出键-值对,具有概率保证。
- io: 简单异步 I/O 处理库,高效管理输入输出操作。
- io/fdpass: 通过本地套接字传递文件描述符的 IO 助手,扩展 fdpass 功能。
- isaac: 快速、高质量的伪随机数生成器,适用于生成随机数。
- iscsi: 异步 iSCSI 功能库,用于网络存储访问。
- jacobson_karels: 实现 Jacobson/Karels 往返时间算法,用于网络延迟测量和管理。
- jmap: 基于 libJudy 的索引到值的映射,高效索引和值检索。
- jset: 基于 libJudy 的指针集,高效指针集操作。
- json: 解析和生成 JSON,用于标准化数据交换。
- json_escape: 为 JSON 字符串提供转义序列,正确处理特殊字符。
- json_out: 创建简单 JSON 输出,从 C 结构生成 JSON 数据。
- lbalance: 并行任务负载平衡的助手,高效分布工作到多个线程或进程。
- likely: 标注可能/不可能分支的宏,帮助编译器优化代码执行。
- list: 双向链表例程,用于标准列表操作。
- lpq: 简单、慢的优先队列实现,满足基本优先队列需求。
- lqueue: 单向链表队列实现,用于 FIFO(先进先出)操作。
- lstack: 单向链表堆栈实现,用于 LIFO(后进先出)操作。
- md4: 实现 MD4 消息摘要算法(RFC1320),较旧的哈希函数。
- mem: 如果 C 库缺少,提供 mem*() 函数,确保跨平台兼容性。
- membuf: 简单线性内存缓冲区例程,高效管理内存缓冲区。
- minmax: 类型安全的最小和最大函数,安全查找值的最小和最大。
- net: 简单 IPv4/IPv6 套接字库,用于网络操作和通信。
- nfs: NFS 客户端库,用于访问网络文件系统。
- noerr: 清理时不影响 errno 的例程,保留错误代码。
- objset: 无序指针集,快速查找和管理指针集。
- ogg_to_pcm: 将 OGG Vorbis 音频文件解码为 PCM 数据,用于音频处理和播放。
- opt: 简单命令行解析,用于高效处理命令行参数。
- order: 简单值比较函数,用于各种方式的排序值。
- permutation: 生成排列,适用于组合操作和算法。
- pipecmd: 通过管道分叉并运行命令,用于进程间通过管道通信。
- pr_log: 按重要性级别打印内容,用于日志和调试目的。
- ptr_valid: 测试指针是否安全解引用,防止崩溃和空指针异常。
- ptrint: 在指针值中编码整数,用于在指针中存储小整数。
- pushpull: 简单封送/解封例程,用于数据序列化和反序列化。
- rbtree: Talloc 感知的红黑树,平衡树数据结构用于高效存储和检索。
- rbuf: 缓冲 I/O 输入原语,高效读取输入数据。
- read_write_all: 提供 read_all 和 write_all 例程,一次读取或写入整个文件。
- rfc822: 解析 RFC822 电子邮件,用于处理电子邮件数据和头部。
- rszshm: 可调整大小的指针安全共享内存,用于进程间共享可调整大小的数据。
- short_types: 标准整数类型的更短名称,便于使用和可读性。
- siphash: 带键的哈希函数,用于安全哈希。
- sparse_bsearch: 搜索带有一些无效条目的排序数组,高效搜索稀疏数组。
- str: 字符串辅助例程,用于一般字符串操作和处理。
- str/base32: RFC4648 base32 编码器/解码器,用于以 base32 格式编码数据。
- str/hex: 十六进制到字符串的转换和反之,十六进制操作。
- strgrp: 按相似性分组字符串,用于基于相似性的聚类或分类。
- stringbuilder: 连接字符串列表,高效从多个部分创建字符串。
- stringmap: 将字符串映射到事物的宏,快速查找和关联。
- strmap: 字符串到值的有序映射,如字符串键的排序字典。
- strset: 字符串的有序集,用于唯一字符串存储和管理。
- structeq: 结构体按位比较,检查两个结构体在二进制级别是否相等。
- take: 标记指针由调用函数消耗,用于管理数据的所有权和生命周期。
- tal: 紧凑树分配器例程,灵感来自 talloc,层次分配的内存管理。
- tal/autoptr: 自动更新指向 tal 对象的指针,便于内存管理和指针处理。
- tal/grab_file: 使用 tal 的文件辅助例程,文件操作与 tal 内存管理。
- tal/link: tal 的链接助手,用于管理 tal 层次结构中的对象链接。
- tal/path: 操作路径的例程,文件路径操作和管理。
- tal/stack: tal 上下文的堆栈,用于管理内存范围和上下文。
- tal/str: 使用 tal 的字符串辅助例程,字符串操作与 tal 内存管理。
- tal/talloc: 使用 talloc 实现 tal 接口,提供两者之间的兼容性。
- talloc: 树分配器例程,层次分配的内存管理,内存按树状结构释放。
- tally: 运行整数计数,用于随时间累加或计数整数值。
- tap: 测试任何协议,用于标准化测试和报告测试结果。
- tcon: 创建类型安全通用容器的例程,用于泛型编程和类型安全数据结构。
- time: 处理时间的例程,用于时间相关操作和处理。
- timer: 高效实现很少过期的定时器,用于调度不频繁执行的任务。
- tlist: 类型安全的双向链表例程,安全和类型检查的列表操作。
- tlist2: 类型安全双向链表例程的替代形式,提供另一种处理列表的方式。
- ttxml: 微型 XML 库,用于解析可信 XML 文档,简单 XML 处理。
- typesafe_cb: 安全回调的宏,确保函数签名和类型安全正确。
- utf8: 简单编码/解码有效 UTF-8 的例程,正确处理 Unicode 文本。
- version: 主要.次要风格版本号的辅助函数,用于版本比较和管理。
- wwviaudio: 实时播放和混合 16 位有符号 PCM 音频数据,用于实时音频处理和播放。
- xstring: 带三值比较器的有界字符串构建器,特定比较能力的字符串操作。