Complex inside. Simple outside.
The EasyMem organization hosts a suite of header-only C libraries dedicated to solving memory management challenges. The project focuses on delivering industrial-grade reliability combined with an API that is intuitive and easy to use.
- Easy to Use: Zero setup. Header-only architecture means you just
#includeand start coding. No complex build systems or dependencies required. - Highly Portable: Designed to run anywhere C99/C11 compiles. Verified across x86, ARM, and s390x architectures, as well as bare-metal environments.
- Rigorously Tested: A strict commitment to code quality. The goal is 100% test coverage across all libraries to ensure stability in production environments.
- Educational by Design: The codebase is extensively documented not just with what the code does, but why. It serves as a practical reference for advanced C techniques, memory alignment, and system architecture.
| Library | Description | Status |
|---|---|---|
| easy_memory | The core memory management system (Arena + LLRB Tree). | Stable |
| easy_bump | Fast linear allocator for temporary data. | In Development |
| easy_stack | LIFO allocator for scoped operations. | Planned |
| easy_slab | Fixed-size block allocator with cache coloring. | Planned |
Maintained by @gooderfreed.