markand / awesome-c

Official mirror of http://hg.malikania.fr/awesome-c, updated every hour.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome C

A curated non-opinionated list of opensource C libraries, frameworks, tools and other resources.

Items marked with ⚠️ symbol aren't opensource or covered under or proprietary license.

Libraries

AI

Artificial intelligence.

  • sod: embedded computer vision and machine learning library. GPL-3.0-only.

CBOR

Serialization with the CBOR binary format.

Compression

Data compression, extracting archives.

Configuration files

Configuration files parsing.

Databases

Frameworks to access SQL, NoSQL and other engines.

Game programming

  • 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 interfaces

Graphical user interface toolkits to create end user applications.

JSON

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.

Networking

Libraries for networking, event loops, file transfer and such.

Scripting languages

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.

Strings

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.

Text manipulation

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].

Unicode

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.

Web frameworks

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.

XML

Libraries to decode, parse and generate XML.

  • expat: stream oriented (SAX) library. MIT.
  • libxml2: document oriented parsing library. MIT.

Tools

Set of tools, IDE and code helpers.

Compilers

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.

Environment

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.

Build systems

List of build systems.


Footnotes

  1. No license applicable because the project may consist of dozens of different individual elements.

About

Official mirror of http://hg.malikania.fr/awesome-c, updated every hour.

License:Creative Commons Attribution Share Alike 4.0 International