0
点赞
收藏
分享

微信扫一扫

CCAN - C语言开源库大全:从算法到内存管理的实用工具集

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: 带三值比较器的有界字符串构建器,特定比较能力的字符串操作。


举报

相关推荐

0 条评论