wolkykim/qlibc
FreeqLibc is a simple and yet powerful C library providing generic data structures and algorithms.
About wolkykim/qlibc
qLibc is a comprehensive, open-source C/C++ library that provides a wide range of generic data structures and utility functions, distributed under the 2-clause BSD license. It offers containers for key/value pairs (tree table, hash table, static hash table, list table) and objects (doubly linked list, growable vector, FIFO queue, LIFO stack), all with a consistent API. Additionally, it includes general utilities for string manipulation, I/O, file handling, IPC, encoders/decoders (URL, Base64, Hex), hashing (Murmur, FNV, MD5), and time conversion. Extension APIs cover Apache-style and INI-style configuration parsing, HTTP client, rotating file logger, MySQL interface, and token-bucket rate limiting. qLibc is designed to provide a ready-made set of common containers and routines with thread-safe options and support for shared memory in static hash tables.
Key Features
Pros & Cons
- One of the most functionally-complete publicly-licensed C/C++ libraries with a wide variety of containers and utilities
- Consistent API design makes it easy to switch between different container types
- Thread-safe options allow safe concurrent access
- Static hash table supports shared memory and pre-allocation, useful for inter-process communication
- Well-documented with API reference (qlibc Core API Reference and Extension API Reference)
- Open source under permissive 2-clause BSD license, allowing free use in both open-source and proprietary projects
- Limited to C/C++ projects; not usable in other programming languages
- Requires manual memory management typical of C libraries, which can be error-prone for inexperienced developers
- Not as widely adopted as some other C libraries (e.g., GLib), so community support and third-party resources may be smaller
- Some advanced features (e.g., database interface) may require additional dependencies