zpl-c/zpl logo

zpl-c/zpl

Free

📐 Pushing the boundaries of simplicity

FreeFree tier
Type
Open Source

About zpl-c/zpl

zpl is a C99 cross-platform, header-only library designed to simplify C/C++ development by providing a commonly used set of features that developers often re-implement. It includes modules for memory management, collections (arrays, buffers, linked lists, ring buffers), string manipulation, hashtables, file I/O, file system operations, TAR archive handling, memory-mapped file I/O, printf-family reimplementations, time helpers, random number generation, sorting and searching algorithms, threading and synchronization, regular expressions, dynamic library loading, and various hashing algorithms (base64, adler32, etc.). Notable modules include a JSON5 parser and a math library. zpl is tested on Windows, UNIX-like systems, iOS, Emscripten, and Android, and supports i386, amd64, and some ARM architectures.

Key Features

Cross-platform: works on Windows, UNIX-like, iOS, Emscripten, Android
C99 header-only library, easy to integrate
Includes JSON5 parser and math library
Comprehensive modules: memory, collections, strings, file I/O, hashing, threading, regex, sorting, and more
Flexible file API and memory-mapped file I/O
Supports i386, amd64, and ARM architectures
Multiple installation methods: CLI download, GitHub releases, or clone repository

Pros & Cons

Pros
  • Header-only: no separate compilation or linking steps needed
  • Rich set of modules covering many common programming tasks
  • Cross-platform support including mobile and web (Emscripten)
  • Free and open source (MIT license implied by repository)
  • Active maintenance with community contributions
Cons
  • Limited to C/C++ environments
  • May not be as widely adopted as some other libraries
  • Documentation appears to be mainly in the README and code comments

Best For

Simplifying C/C++ application development by providing a standard set of utilitiesParsing and manipulating JSON5 dataImplementing custom memory allocators and collection typesCross-platform file I/O and file system operationsAdding hashing, regex, or threading capabilities to C projectsArchiving files using TAR format

FAQ

What is zpl?
zpl is a C99 cross-platform, header-only library aimed at simplifying C/C++ development by providing commonly used modules such as memory management, collections, strings, file I/O, JSON5 parsing, math, hashing, threading, and more.
How do I install zpl?
You can download the latest release via CLI using curl -L https://zpl.pw/ zpl.h or wget, or get it from the GitHub releases page, or clone the repository.
What platforms does zpl support?
zpl supports Windows, UNIX-like systems, iOS, Emscripten, and Android, on i386, amd64, and some ARM architectures.
Is zpl free to use?
Yes, zpl is free and open source. The repository includes a LICENSE file (MIT).