A list of open source C libraries

From cppreference.com
< c‎ | links

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

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)

See also