# 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

- acl
- apparmor

Extended attributes

- attr

## 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

- appmenu-gtk
- ghex
- goocanvas
- gtkhotkey
- gtk+
- gtksourceview
- gtkspell
- gucharmap
- webkitgtk

## Microsoft Excel

- libxlsxwriter
- xlsx_drone

## Audio

CD

- cdparanoia

Codecs

- aften
- faad2
- wavpack

Infrastructure

- alsa-lib
- portaudio

Speech synthesis

- espeak
- flite

## Video

Codecs

- schroedinger
- video4linux

## Files

- gmime

## Maths

- gsl

Integer Multi-Dimensional Interpolation

- argyll

Linear algebra

- atlas
- blas
- eigen

Finance

- ta-lib

FFT

- fftw3

Multiprecision

- gmp

Signal Processing

- liquid-dsp
- vsipl
- vsipl++

## 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

- libmixf

## Interprocess

- dbus
- dee
- gdbus

## 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

- libconfig
- libconfini

## Environment

- libXDGdirs

## 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

- bzip2
- lz4
- zlib

## Concurrency

- ck
- MutexGear - Mutex-only synchronization (wheel, rwlock, work queues). (The MutexGear Library License)

## Data types

- bstrlib
- datastd
- str - Yet another string library for C language.

## XML

- expat
- gsoap

## Metrics

- edlib

## Object oriented programming

- Cello
- GObject

## Web Frontend

- cgit

## 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

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/links/libs&oldid=154786"