A list of open source C libraries
From cppreference.com
The objective of this page is to build a comprehensible list of open source C libraries, so that when one needs an implementation of particular functionality, one need not waste time searching on Google.
If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that it must be possible to download the source of the library.
The page is provided 'as is' - with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you've noticed one of these, it would be great if you fixed the error.
Operating system
- Access control
- Extended attributes
Graphical user interface
- IUP
- Nuklear[doc] - A single-header ANSI C immediate mode cross-platform GUI library.
- lvgl[doc] - Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).
- tiny file dialogs - a single C cross-platform file (no init, no main loop, 6 modal function calls)
Gtk+ widgets
Microsoft Excel
Audio
- CD
- Codecs
- Infrastructure
- Speech synthesis
Video
- Codecs
Files
Maths
- Integer Multi-Dimensional Interpolation
- Linear algebra
- Finance
- FFT
- Multiprecision
- Signal Processing
Graphics
- allegro 5 (Multimedia Library) - a cross-platform library mainly aimed at video game and multimedia programming.
- babl
- cairo
- SAIL (Squirrel Abstract Image Library) - small, fast, and cross-platform image decoding library.
- SDL (Simple DirectMedia Layer) - a library for input, audio, drawing and much more supported by many platforms.
- SIGIL (Sound, Input, and Graphics Integration Library)
- Simple2d - a small, simple, cross-platform SDL2/OpenGL wrapper that provides drawing, media, windowing, and input capabilities. (MIT license)
Generic
Interprocess
Databases
- berkeley db
- libfmrt
- libmongoc - official C driver library for MongoDB (Documentation). It offers optimized APIs for CRUD operations, comprehensive feature support (including BSON) and support for different authentication mechanisms enabling efficient integration of MongoDB functionality into C-based applications. (Apache 2.0 License, CMake).
- lmdb
- SQLite
Configuration
Environment
Communications
- gsoap
- KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. (MIT License)
- libcurl
- libmicrohttpd
- libsagui
- MQTT-C - Github URL (MIT License)
- nanomsg - A socket library that provides common communication patterns; has no dependencies; cross-platform. Superceded by the nng. (MIT/X11 license)
- UCX - Unified Communication X (UCX) provides an optimized communication layer for Message Passing (MPI), Shared Memory (PGAS) and RPC/data-centric applications. (BSD3 License)
- zeromq
- libusb - "A [portable] C library that provides generic access to USB devices."
Compression
Concurrency
- ck
- MutexGear - Mutex-only synchronization (wheel, rwlock, work queues). (The MutexGear Library License)
Data types
XML
Metrics
Object oriented programming
Web Frontend
Debug
- dbg-macro - A few macros that print and return the value of a given expression for quick and dirty debugging, inspired by Rusts dbg!(…) macro and its C++ variant. (MIT License)