2014-12-15 20:41:49 +13:00
2014-12-15 13:21:50 +13:00
2014-12-15 20:41:49 +13:00

Awesome C

A curated list of C good stuff. I give preference to free software for code, and sellers who aren't evil for physical resources.

This is released under the GNU Free Documentation License - its text is provided in the LICENSE file.

Compilers

  • Clang - A C compiler for LLVM. Supports C11. NCSA.
  • GCC - Provides a C compiler as part of its compiler set. Supports C11 and OpenMP. GNU GPL3.
  • TCC - Tiny C Compiler; a small, fast C compiler. Supports C99 (except complex types). GNU GPL2.

Database

  • leveldb - A simple persistent key-value store. Available via clib. 3-clause BSD.
  • MariaDB - A robust, scalable and reliable SQL server, designed to be a drop-in replacement for MySQL. 3-clause BSD.
  • Redis - An advanced key-value store. 3-clause BSD.
  • SQLite - A self-contained, serverless, zero-configuration, transactional SQL database engine with a C interface. Public domain.
  • UnQLite - A self-contained, serverless, zero-configuration, transactional NoSQL engine with a C interface. FreeBSD.

Editors

These are specifically fancier, IDE-type editors. If you want a programmer's text editor, and yours doesn't support C, I'd be quite surprised.

Game Programming

  • Allegro - A cross-platform, video game development and multimedia library. zlib.
  • SDL - A cross-platform library designed to provide low-level access to audio, keyboard, mouse, joystick and graphics hardware via OpenGL. zlib.

Generic Programming

  • SGLIB - Simple Generic Library; an implementation of a range of generic programming structures and idioms in C. No license specified.

Graphical User Interface

These are specifically widget toolkits.

JSON

  • Jannson - A C library for encoding, decoding and manipulating JSON. Expat.

Learning and Tutorials

This is a list of resources for learning C programming in general, or something useful relating to C programming.

Online

Physical

Networking

Numerical

  • GSL: The GNU Scientific Library; a sophisticated numerical library. GNU GPL3.

Package Manager

Parallel Programming

  • OpenMP - A set of C pragmas designed to allow for easy parallelization of code. Standard (licensing not applicable).

Standard Libraries

This includes both C standard library implementations and libraries seeking to provide most of what a 'modern' standard library would have (containers, string processing, etc).

  • Bionic - Google's C standard library, developed for Android. 3-clause BSD
  • dietlibc - A C standard library designed for the smallest possible binaries. GNU GPL2.
  • GLib - A library of utility functions and structures, designed to be portable, efficient and powerful. GNU LGPL3.
  • glibc - The GNU C Library; an implementation of the C standard library. GNU LGPL3.
  • GIO - A modern and easy-to-use VFS API. GNU LGPL3.
  • GObject - An object-oriented system and object model for C. GNU LGPL3.
  • libU - A small library of basic utilities, including memory allocation, string manipulation and logging. 3-clause BSD.
  • musl - A standard C library, compatible with POSIX 2008 and C11. Designed for static linking. Expat.

Testing

Utilities

This is a 'catch-all' category for anything that doesn't fit well anywhere else.

  • libPhenom - An eventing framework for building high-scalability and high-performance systems. Apache2.0.
  • libuv - Cross-platform asynchronous I/O. Expat.
  • Ragel - A DSL for state machines that compiles to C. GNU GPL3.
  • SDS - Simple Dynamic Strings; a library for handling C strings in a simpler way, but one that is compatible with normal C string functions. Available via clib. FreeBSD.
S
Description
A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there.
Readme CC-BY-SA-4.0
989 KiB
0 Stars 1 Watchers 0 Forks