c resources
January 3, 2015
For an updated list, please see https://github.com/astocko/c_compendium.
Books
- Learn C The Hard Way - Zed Shaw’s book, a great resource to learn C
- 21st Century C: C Tips from the New School - A book to bring old school C programmers into the 21st Century
Articles
- Why should I have written ZeroMQ in C, not C++ - A set of articles on the merits of C over C++ from the Martin Sústrik’s point of view; controversial but interesting
Libraries
- Apophenia - Apophenia is an open statistical library for working with data sets and statistical or simulation models. It provides functions on the same level as those of the typical stats package (such as OLS, probit, or singular value decomposition) but gives the user more flexibility to be creative in model-building
- GNU Scientific Library - “The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.”
- Klib: a Generic Library in C - A macro heavy C library providing containers and other utilities. Avoids the use of void* for performance.
- Mongoose - An embeddable C http server
- Nanomsg - An evolution of ZeroMQ, a high performance brokerless message queue
- SFMT - SIMD version of the Mersenne Twister random number generator. Floating point and integer versions
- TinyCThread - Small, portable implementation of the C11 threads API
Build Systems
- CMake - CMake is a family of tools designed to build, test and package software
- Ninja - Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible
- tup - Tup is a file-based build system for Linux, OSX, and Windows
Tools
- Cog - Code generation tool
- YouCompleteMe - VIM code completion for C-family and other languages
- Warp - Alternative performance oriented C/C++ preprocessor implemented in D by Facebook