A curated non-opinionated list of opensource C libraries, frameworks, tools and other resources.
Items marked with
Artificial intelligence.
- sod: embedded computer vision and machine learning library. GPL-3.0-only.
Serialization with the CBOR binary format.
Data compression, extracting archives.
- libarchive: multi-format archive compression library. BSD-3-Clause.
- libzip: reading, creating and modifying zip archives. BSD-3-Clause.
- Zstandard: fast compression algorithm. BSD-3-Clause.
Configuration files parsing.
- inih: .ini file parser. BSD-3-Clause.
- libconfuse: small configuration file parsing. ISC.
Frameworks to access SQL, NoSQL and other engines.
- mariadb C connector: official MariaDB connector. LGPL-2.1-or-later.
- libpq: official PostgreSQL client library. PostgreSQL.
- sqlite: file based SQL engine, most used in the world. Public domain.
- unqlite: embeddable NoSQL library. BSD-2-Clause.
- Allegro: cross-platform library mainly aimed at video game and multimedia programming. BSD-3-Clause.
- CSFML: official C binding for SFML. Zlib.
- SDL2: cross platform development library with audio, video, input, OpenGL and more. Zlib.
Graphical user interface toolkits to create end user applications.
- EFL: enlightenment foundation library. LGPL-2.1-only.
- GTK: GNOME graphical toolkit. LGPL-2.1-or-later.
- nuklear: platform agnostic immediate mode UI library. MIT.
Libraries to decode, parse and generate JSON.
- jansson: encode, decode and manipulate JSON data. MIT.
- jsmn: allocationless JSON decoder. MIT.
- json-c: a JSON implementation in C. MIT.
Libraries for networking, event loops, file transfer and such.
- curl: swiss-army knife for multi protocols file transfer library. CURL.
- libev: high performance event loop library. BSD-2-Clause.
- libevent: event notification library with main loop abstraction. BSD-3-Clause.
- nanomsg: socket library. MIT.
- zeromq: universal messaging library. LGPL-3.0-or-later.
Scripting languages designed to be embedded into C to extend your applications.
- Duktape: ECMAScript 5.1 engine with an API similar to Lua. MIT.
- Gravity: simple language with a Swift like syntax. MIT.
- Lua: embeddable scripting language. MIT.
- Wren: class-based scripting language. MIT.
Libraries and frameworks to create and manipulate safe strings in C.
- libbuf: minimal set of 13 functions to manipulate strings. ISC.
- sds: Simple Dynamic Strings library for C. BSD-2-Clause.
Other text manipulation that consists of encoding and decoding to different formats.
- libbase64: minimal set of 6 functions to encode and decode base64 data. ISC.
- mustache4c: C mustache parser library. MIT.
- msgpack: binary serialization format inspired by JSON. [BSL-1.0][license-boost].
Handling of unicode character classes, conversion between unicode representations (e.g. UTF-8, UTF-16, UTF-32) and more.
- icu: international components for Unicode. ICU.
- libunicode: conversion and classifications in only 18 functions. ISC.
- utf8.h: header only set of functions for UTF-8 strings. Unlicense.
- utf8proc: library for handling UTF-8 strings. MIT.
List of libraries that let you create websites in CGI or as HTTP servers.
- facil.io: web application framework. MIT.
- kcgi: opinionated minimal CGI/FastCGI library. ISC.
- kore: web application framework. ISC.
Libraries to decode, parse and generate XML.
Set of tools, IDE and code helpers.
Obvious compilers that compile your code.
- cproc: C11 compiler based on QBE. ISC.
- GCC: GNU Compiler Collection. GPL-3.0-or-later.
- LLVM: comprehensive toolchain for various languages, cross platform and cross-compilation built-in. NCSA.
Set of environment applications and utilities.
- MSYS2: easy to use environment for windows including gcc, clang and the Arch Linux's pacman package manager. 1.
⚠️ Visual Studio: reference IDE for Microsoft Windows.
List of build systems.
- BSD Make: portable implementation of NetBSD make. BSD-2-Clause.
- CMake: cross platform build system that generates IDE and build system files. BSD-3-Clause.
- GNU Make: GNU variant of the POSIX make utility. GPL-3.0-or-later.
- Meson: build system aimed at speed. Apache-2.0.
- Premake: build utility based on Lua. BSD-3-Clause.
- xmake: cross platform build utility based on Lua. Apache-2.0.
Footnotes
-
No license applicable because the project may consist of dozens of different individual elements. ↩