awesome-c
Continuing the development of awesome-c list on GitHub
Archived
4k stars
183 watching
358 forks
last commit: about 3 years ago
Linked from 8 awesome lists
awesomeawesome-listclist
Contents / Build Systems | |||
| aimake | Build tool designed to avoid complex configurations | ||
| Autoconf | Extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. Part of the Autotools | ||
| Automake | Tool for automatically generating files compliant with the GNU Coding Standards. Requires the use of Autoconf. Part of the Autotools | ||
| CMake | Tools for cross-platform building, testing, and packaging | ||
| Jam | Build system, designed to be easier than make. Understands C build rules implicitly | ||
| Libtool | Generic library support script. Part of the Autotools | ||
| Meson | Extremely fast, user-friendly build system. Based on Ninja | ||
| Premake | 3,252 | 11 months ago | Build script generator for toolsets like Visual Studio, Xcode, or GNU Make |
| SCons | An easier, more reliable and faster way to build software | ||
| Ninja | 11,348 | 11 months ago | Small, simple build system with a focus on speed |
| Bazel | Build system for various operating systems and targets | ||
| Buck | Build system created and used by Facebook | ||
| Qbs | Modern build tool for software projects | ||
| qmake | Build system included with the Qt Framework | ||
| xmake | Cross-platform build utility based on lua | ||
Contents / Compilers | |||
| Clang | C compiler for LLVM. Supports C11 | ||
| CompCert | Fully-verified C compiler. Supports almost all of C89 | ||
| GCC | Provides a C compiler as part of its compiler set. Supports C11 and OpenMP | ||
| PCC | Venerable C compiler. Supports C99 | ||
| TCC | Tiny C Compiler; a small, fast C compiler. Supports C99 (except complex types) | ||
| Intel SPMD | Compiler for a variant of the C language, for single program, multiple data programming | ||
| ccache | Compiler cache designed to speedup recompilation | ||
Contents / Compiler libraries | |||
| yasm | Yasm Modular Assembler Project | ||
Contents / Compression | |||
| libzip | A C library for reading, creating, and modifying zip archives | ||
| lzo | Very fast data compression library | ||
| zlib | Massively-spiffy yet delicately-unobtrusive compression library | ||
| bzip2 | Patent free, high quality data compressor | ||
| lz4 | Fast Compression algorithm | ||
| snappy | 6,217 | about 1 year ago | Fast compression library (implementation in C++, native bindings to C) |
| zstd | Fast real-time compression algorithm | ||
| brotli | 13,639 | 11 months ago | Generic lossless compression algorithm based on LZ77, Huffman coding and 2nd order context modelling |
| quicklz | Fast compression library | ||
| pixz | 714 | 11 months ago | Pixz (pronounced pixie) is a parallel, indexing version of |
Contents / Crypto | |||
| GnuTLS | Secure communication library, implementing SSL, TLS and DTLS | ||
| libgcrypt | General-purpose cryptography library, with a range of available ciphers. and | ||
| OpenSSL | Implementation of the SSL and TLS protocols, and also includes a cryptography library | ||
| libsodium | Modern and easy-to-use crypto library | ||
| libtomcrypt | Fairly comprehensive, modular and portable cryptographic toolkit | ||
| mbed TLS | Another crypto implementation for C | ||
| libressl | Modernized fork of OpenSSL | ||
Contents / Database | |||
| BerkeleyDB | Library for a high-performance embedded database for key-value data | ||
| Hiredis | 6,283 | 12 months ago | Minimalistic client library for Redis |
| LMDB | 2,615 | 12 months ago | Ultra-fast, ultra-compact key-value embedded data store |
| MariaDB | Robust, scalable and reliable SQL server, designed to be a drop-in replacement for MySQL | ||
| mongo-c-driver | High-performance client library for | ||
| PostgreSQL | Powerful object-relational database system | ||
| recutils | Set of tools and a C library for accessing human-editable, plaintext database files called recfiles | ||
| Redis | Advanced key-value store | ||
| sophia | Modern, embeddable key-value database | ||
| SQLite | Self-contained, serverless, zero-configuration, transactional SQL database engine with a C interface | ||
| UnQLite | Self-contained, serverless, zero-configuration, transactional NoSQL engine with a C interface | ||
Contents / Deep Learning | |||
| Darknet | Open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation | ||
Contents / Documentation Generation | |||
| Cxref | Generates documentation of C programs in either LaTeX, HTML, RTF or SGML | ||
| DocOnce | Modestly-tagged markup language that can be used to generate a range of formats | ||
| Doxygen | The de-facto standard tool for generating C documentation from annotated sources. Can generate a large range of formats | ||
| GTK-Doc | Tool for generating C documentation from annotated sources. Has support for the Autotools. or | ||
Contents / Editors | |||
| Anjuta DevStudio | The GNOME IDE | ||
| Atom | Hackable text editor for the 21st century | ||
| Code::Blocks | Extensible, configurable IDE supporting C | ||
| CodeLite | Cross-platform IDE | ||
| Eclipse | IDE written in Java | ||
| Geany | Very small and fast IDE | ||
| KDevelop | The KDE IDE | ||
| Qt Creator | Cross-platform IDE written with C++ and Qt, part of the Qt SDK. Supports Clang Code Model | ||
| Visual Studio Code | Code editing, redefined. Visual Studio Code | ||
Contents / Embedded Systems / RTOS | |||
| Amazon FreeRTOS | RTOS for microcontrollers that makes small, low-power edge devices easy to program | ||
| ChibiOS | RTOS with complete development environment (HAL, drivers, support files, and tools) | ||
| Contiki | Connect low-cost, low power microcontrollers to the Internet | ||
| Zephyr Project | Scalable real-time RTOS supporting multiple hardware architectures, optimized for resource constrained devices | ||
| RIOT OS | Real-time multi-threading operating system that supports a range of devices that are typically found in the Internet of Things | ||
Contents / Environments | |||
| Cygwin | Designed to emulate a POSIX-compatible environment extensively under Windows | ||
| MinGW-w64 | Minimalist environment for C development on Windows with 64 bit support | ||
Contents / Frameworks | |||
| APR | Apache Portable Runtime; another library of cross-platform utility functions | ||
| C Algorithms | Collection of common algorithms and data structures for C | ||
| C Macro Collections | 536 | over 1 year ago | Header only, macro generated, generic and type-safe Collections in C |
| CPL | The Common Pipeline Library; a set of libraries designed to be a comprehensive, efficient and robust software toolkit | ||
| EFL | Large collection of useful data structures and functions | ||
| GLib | Library of utility functions and structures, designed to be portable, efficient and powerful | ||
| GIO | Modern and easy-to-use VFS API | ||
| GObject | Object-oriented system and object model for C | ||
| libnih | 89 | almost 4 years ago | Lightweight library of C functions and structures |
| libU | Small library of basic utilities, including memory allocation, string manipulation and logging | ||
| PBL | Large library of utilities, featuring data structures, among other things. or | ||
| qlibc | Simple and powerful C library, designed as a replacement for GLib while focusing on being small and light. (similar to ) | ||
| stb | 27,210 | 12 months ago | Range of single-file libraries for C |
| libsrt | Safe Real-Time library for C | ||
Contents / Game Programming / Engines | |||
| Corange | 1,838 | over 1 year ago | Game engine in pure C |
| Darkplaces | Modified version of the Quake2 engine | ||
| ioquake3 | The Quake3 engine, freed at last | ||
| Orx | Portable, lightweight, plugin-based, data-driven, 2D-oriented game engine | ||
| Quake | 4,959 | over 1 year ago | The Quake engine |
| Quake2 | 2,844 | almost 2 years ago | The Quake2 engine |
| Spearmint | Engine designed for FPS games | ||
Contents / Game Programming / Resources | |||
| Allegro | Cross-platform, video game development and multimedia library | ||
| Chipmunk2D | Fast and lightweight 2D game physics library | ||
| CSFML | Binding for in C | ||
| FreeGLUT | Alternative to the OpenGL Utility Toolkit. Allows the creation and management of windows with OpenGL contexts | ||
| GLFW | Multi-platform library for creating windows with OpenGL contexts | ||
| libao | Cross-platform audio library with a wide variety of outputs | ||
| RetroArch | The reference frontend for | ||
| SDL and SDL2 | Cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick and graphics hardware via OpenGL. SDL2 is the most current version | ||
| raylib | Simple and easy-to-use library to learn videogames programming | ||
Contents / Generic Programming | |||
| klib | Small and lightweight implementations of common algorithms and data structures | ||
Contents / Graphics | |||
| Cairo | -2D graphics library. or | ||
| Cogl | 0 | about 10 years ago | GPU graphics and utilities API |
| Clutter | UI library based on OpenGL | ||
| giflib | Library for reading and writing gif images | ||
| heman | 470 | over 4 years ago | Tiny library of image utilities dealing with height maps, normal maps, distance fields and the like |
| libcaca | 550 | about 1 year ago | ASCII renderer for terminal-based interfaces |
| libimagequant | Small, portable library for high-quality conversion of RGBA images to 8-bit indexed colour images | ||
| libjpeg-turbo | Faster library for reading and writing JPEG files | ||
| libpng | The official PNG reference library | ||
| libxmi | Function library for rasterizing 2D vector graphics | ||
| mozjpeg | 5,484 | about 1 year ago | Improved JPEG encoder |
Contents / Graphics / Graphic APIs | |||
| OpenGL | Industry adopted 2D and 3D graphics API. More resources at | ||
| OpenGL ES | Industry adopted 2D and 3D graphics API for mobile and embedded devices | ||
| OpenGL SC | Graphic and compute standard for industry requiring system safety certification | ||
| Vulkan | Explicit graphic and compute API for modern cross-platform development. More resources at | ||
Contents / Graphical User Interface | |||
| GTK+ | Cross-platform widget toolkit | ||
| IUP | Another cross-platform widget toolkit | ||
| Tk | Basic widget toolkit. Part of Tcl/Tk | ||
| XForms Toolkit | Widget toolkit designed for the XWindow system | ||
| nuklear | 13,699 | almost 6 years ago | Single-header ANSI C gui library |
| libui | 10,745 | over 1 year ago | Simple and portable (but not inflexible) GUI library |
| LCUI | 4,159 | 11 months ago | Small C library for building user interfaces with C, XML and CSS |
Contents / Hashing | |||
| jwHash | 216 | about 5 years ago | Fast hashtable implementation |
| xxHash | Extremely fast non-cryptographic hash algorithm | ||
| libcrc | 410 | about 3 years ago | Multi platform CRC library |
| murmur | 2,534 | 10 months ago | C implementation of MurMur Hashing |
| t1ha | 345 | over 3 years ago | Fast Positive Hash library |
Contents / Image Processing | |||
| libccv | Modern Computer Vision Library | ||
Contents / JSON | |||
| Jansson | C library for encoding, decoding and manipulating JSON | ||
| jsmn | Minimalistic JSON parser | ||
| json-c | 2,997 | 11 months ago | Library for working with JSON |
| parson | 1,367 | over 1 year ago | Lightweight JSON library written in C |
| WJElement | 108 | over 1 year ago | Advanced JSON manipulation library, with support for JSON Schema |
| YAJL | Fast C JSON streaming parser library | ||
Contents / Learning, Reference and Tutorials / Online | |||
| SEI CERT C Coding Standard | |||
| C FAQ - comp.lang.c Frequently Asked Questions | |||
| Comparison of C/POSIX standard library implementations for GNU/Linux | |||
| GNU C Reference Manual | |||
| Robert Pike's notes on programming in C | |||
| Draft ANSI C Rationale | |||
| Draft C99 Rationale | |||
| Draft ANSI C (C89) standard | |||
| Draft C99 standard | |||
| Draft C11 standard | |||
| Tutorial on pointers | |||
| Building C Projects | |||
| C Programming Wikibook | |||
| Introduction to 'fun' C | |||
| Learning C with GDB | |||
| POSIX Threads Programming tutorial | (a little dated, but most of it is still valid and useful) | ||
| The GNU C Programming Tutorial | (online PDF) | ||
| Templating in C | |||
| 8 gdb tricks you should know | |||
| 10 C99 tricks | |||
| Diving into concurrency: trying out mutexes and atomics | |||
| Introduction to OpenMP | (video) | ||
| OpenMP tutorial | (for the OpenMP3 standard) | ||
| memcpy vs memmove | |||
| MPI tutorial | |||
| Some unknown features or tricks in C language | |||
| The lost art of C structure packing | |||
| What a C programmer should know about memory | |||
| What every C programmer should know about undefined behaviour | |||
| Advanced metaprogramming in C | |||
| Quick tutorial on implementing and debugging malloc, free, calloc, and realloc | |||
| Bit twiddling hacks | |||
| I do not know C | |||
| Implementing smart pointers for the C programming language | |||
| Inline functions in C | |||
| Metaprogramming custom control structures in C | |||
| Some dark corners of C | |||
| Writing efficient C and C code optimization | |||
| What every programmer should know about memory | |||
| C Programming Language Certified Associate preparation course | |||
Contents / Learning, Reference and Tutorials / Physical | |||
| C: A Reference Manual 5E | Full reference book for C99 | ||
| C Pocket Reference | Concise reference book for C99 | ||
| The C Programming Language 2E | The original book on C, by its creators | ||
| C Primer Plus 6E | Complete tutorial on programming in C11 | ||
| C Programming: A Modern Approach | Excellent book to learn the basics of C | ||
| Head First C | 'Head-first' style book for learning C | ||
| 21st Century C | Very good programming book on C | ||
| Understanding and Using C Pointers | In-depth resource on pointers in C | ||
| ZeroMQ | Book for using ZeroMQ with C | ||
| Expert C Programming: Deep C Secrets | Interesting, in-depth and look at the innards of C | ||
Contents / Macros | |||
| P99 | Suite of macros to implement advanced features like default function arguments, scope-bound resources, etc. (Requires C99) | ||
Contents / Memory Allocators | |||
| jemalloc | General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support, commonly used in production systems | ||
| dlmalloc | Doug Lea's malloc(3) implementation, useful for academic and research purposes | ||
| Hoard | A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, Mac, and Solaris | ||
| nedmalloc | An EXTREMELY FAST portable thread caching malloc(3) implementation written in C | ||
| rpmalloc | 2,186 | over 1 year ago | Cross platform, lock-free memory allocator |
Contents / Multimedia | |||
| FFMPEG | Complete, cross-platform solution to record, convert and stream audio and video. or | ||
| GStreamer | Framework for audio and visual media | ||
| lodepng | Simple PNG image decoder and encoder, requiring no other dependencies | ||
| libsoup | GNOME HTTP client/server library. Uses GObject | ||
| libmpv | Music-playing library. Compile with to not have the music player | ||
| libsoundio | Library for cross-platform, real-time audio input and output. Has a range of back-ends | ||
Contents / Networking and Internet | |||
| asnlc | Compiler of ASN.1 specifications into C source code | ||
| czmq | High-level binding for ZeroMQ | ||
| GNU adns | Advanced, easy-to-use, asynch-capable DNS client library and utilities | ||
| GNU SASL | Implementation of the Simple Authentication and Security Layer and a few common SASL mechanism | ||
| GnuTLS | Secure communication library, implementing SSL, TLS and DTLS | ||
| gumbo-parser | 5,166 | over 2 years ago | HTML5 parsing library in C99 |
| http-parser | 6,361 | over 3 years ago | HTTP request/response parser |
| ldns | Library to simplify DNS programming | ||
| libcurl | Client-side URL transfer library, supporting a wide range of formats | ||
| LibEtPan | Mail library providing an efficient network for IMAP, SMTP, POP and NNTP | ||
| libev | Yet another event loop | ||
| libuv | Cross-platform asynchronous I/O | ||
| libevent | Event loop replacement for network servers | ||
| libgss | Generic Security Service | ||
| libhttpd | Library to add basic web server capabilities to an application or embedded device | ||
| libidn | Implementation of the Stringprep, Punycode and IDNA specifications | ||
| libmicrohttpd | Small C library that makes it easy to run an HTTP server as part of another application | ||
| libsagui | Sagui is a cross-platform C library which helps to develop web servers or frameworks | ||
| libvldmail | 53 | about 1 year ago | Your friendly e-mail address validation library |
| lwan | Experimental, scalable, high-performance HTTP server | ||
| mongoose | Embedded web server for C | ||
| MQTT-C | 789 | over 1 year ago | Portable MQTT C client for embedded systems and PCs alike |
| nanomsg | 6,014 | over 1 year ago | C-based implementation of ZeroMQ |
| OpenSSL | Implementation of the SSL and TLS protocols, and also includes a cryptography library | ||
| oSip | SIP implementation in C without additional dependencies | ||
| pig | 462 | almost 5 years ago | Linux packet crafting tool |
| s2n | 4,544 | 10 months ago | C99 implementation of the TLS/SSL protocols, designed to be simple, fast and with security as a priority |
| socket99 | 143 | over 8 years ago | C99 wrapper for the BSD sockets API |
| Tox | Communication platform, designed to be a Skype-killer | ||
| twitc | 24 | about 5 years ago | Mini C library for interacting with the Twitter OAuth API |
| librg | 1,287 | over 1 year ago | Library for building simple and elegant cross-platform mmo client-server solutions |
| dyad | 1,442 | about 5 years ago | Asynchronous networking library |
| h2o | 10,940 | 11 months ago | Optimized HTTP/1, HTTP/2 high performance server/library |
Contents / Networking and Internet / Web Frameworks | |||
| balde | Microframework for C based on GLib | ||
| onion | C library to create simple HTTP servers and Web Applications | ||
| kore | Easy to use, scalable and secure web application framework for writing web APIs in C | ||
| klone | KLone is a fully-featured, multiplatform, web application development framework | ||
| duda | Duda I/O is an event-driven and high performant web services framework written in C | ||
Contents / Numerical | |||
| apophenia | Library for statistical and scientific computing | ||
| ATLAS | Automatically Tuned Linear Algebra Software | ||
| BLAS | Basic Linear Algebra Subprograms; a set of routines that provide vector and matrix operations | ||
| CDFLIB | Library with routines to evaluate cumulative density functions fo a variety of standard probability distributions. Also can compute one parameter of the CDF given the others. (No license given) | ||
| cmathl | Pure-C Math library with a great variety of mathematical functions and CMake build support. Seeks to be close to C89/C90 compliant for portability | ||
| Cuba | Library for multidimensional numerical integration | ||
| FFTW | The Fastest Fourier Transform in the West; a highly-optimized fast Fourier transform routine | ||
| FLINT | Fast Library for Number Theory; a library supporting arithmetic with numbers, polynomials, power series and matrices, among others | ||
| GLPK | GNU Linear Programming Kit; a package designed for solving large-scale linear programming, mixed integer programming and other related problems | ||
| GMP | GNU Multple Precision Arithmetic Library; a library for arbitrary-precision arithmetic. and | ||
| GNU MPC | Library for complex number arithmetic | ||
| GNU MPFR | Library for arbitrary-precision floating-point arithmetic. or | ||
| GNU MPRIA | Portable mathematics library for multi-precision rational interval arithmetic | ||
| GSL | The GNU Scientific Library; a sophisticated numerical library | ||
| igraph | Library for creating and manipulating large graphs | ||
| KISS FFT | Very simple fast Fourier transform library | ||
| LAPACKE | C interface to | ||
| PARI/GP | Computer algebra system for number theory; includes a compiler to C | ||
| PETSc | Suite of data structures and routines for scalable parallel solution of scientific applications modelled by partial differential equations | ||
| PROB | Library that handles various discrete and continuous probability density functions | ||
| Yeppp! | Very fast, SIMD-optimized mathematical library | ||
Contents / Parallel Programming | |||
| cchan | Small library for channel constructs for inter-thread communication | ||
| ck | Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures | ||
| mill | Go-style concurrency in C | ||
| libdill | Structured concurrency in C | ||
| MPICH | Another implementation of MPI | ||
| OpenMP | Set of C pragmas designed to allow for easy parallelization of code | ||
| OpenMPI | 2,200 | 10 months ago | Message passing interface implementation |
| pth | Portable implementation for non-preemptive priority-based scheduling for multiple threads of execution | ||
| pthreads | The POSIX thread library | ||
| SLEPc | Software library for the solution of large, sparse eigenvalue problems on parallel computers | ||
| TinyCThread | Portable, small implementation of the C11 threads API | ||
Contents / Parsers | |||
| hammer | 285 | about 5 years ago | Parser combinators for binary formats |
| iniparser | 984 | over 1 year ago | Parser for files |
| libconfini | 165 | over 3 years ago | Yet another INI parser |
| libYAML | YAML 1.1 parser and emitter | ||
| mpc | 2,691 | over 1 year ago | Parser combinator library |
| libucl | 1,635 | over 1 year ago | Universal configuration library parser |
Contents / Regex | |||
| PCRE | Implementation of regexes identical to that of Perl 5 | ||
| regexp4 | 10 | about 8 years ago | Simple and complete implementation of regular expressions with its own sintax |
| SLRE | 535 | almost 5 years ago | Super Light Regular Expression library; a very small implementation of a subset of Perl regex syntax |
| sregex | 617 | almost 4 years ago | Non-backtracking NFA/DFA-based Perl-compatible regex engine library |
| TRE | 811 | about 1 year ago | POSIX-compliant, feature-full regex library |
Contents / Serialization | |||
| binn | 455 | over 1 year ago | Binary serialization format meant to be compact, fast and easy-to-use |
| c-capnproto | 69 | over 2 years ago | Implementation of the Cap'n Proto serialization protocol |
| cmp | 341 | over 1 year ago | Implementation of the serialization protocol |
| libavro | C implementation of the Avro data serialization system | ||
| mpack | 549 | over 2 years ago | Another implementation of the serialization protocol |
| netstring-c | 7 | about 5 years ago | Netstring encoder and decoder |
| protobuf-c | 2,709 | over 1 year ago | Implementation of Google Protocol Buffer in C |
| xdr | External Data Representation; a standard for data serialization | ||
Contents / Source Code Collections | |||
| CCAN | Modelled after Perl's CPAN, this is a big collection of C code that does stuff. The full list is | ||
| clib | 4,885 | about 1 year ago | Something of a package manager for C. Comes with a |
| gnulib | Collection of common GNU code | ||
| libdjb | Collection of libraries doing various things | ||
Contents / Standard Libraries | |||
| Bionic | 605 | 10 months ago | Google's C standard library, developed for Android |
| dietlibc | C standard library designed for the smallest possible binaries | ||
| glibc | The GNU C Library; an implementation of the C standard library | ||
| musl | Standard C library, compatible with POSIX 2008 and C11. Designed for static linking | ||
Contents / String Manipulation | |||
| bstrlib | The Better String Library. and | ||
| ICU | International Components for Unicode; a library for Unicode support | ||
| libunistring | Library for manipulating Unicode strings in C | ||
| libgiconv | Text conversion library. or | ||
| SDS | 4,955 | over 1 year ago | 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 |
| shoco | Compressor for small text strings | ||
| smaz | 1,174 | almost 6 years ago | Efficient string compression library |
| utf8.h | 1,758 | 12 months ago | Single header utf8 string functions |
| utf8proc | 1,069 | about 1 year ago | Small, clean library for processing UTF-8 Unicode data |
Contents / Testing | |||
| CHEAT | Very simple unit testing framework | ||
| Check | Unit testing framework for C | ||
| CMock | Mock/stub generator for C | ||
| cmocka | Unit testing framework with support for mock objects | ||
| Criterion | KISS, non-intrusive C test framework | ||
| CUnit | Another unit testing framework for C | ||
| Cutest | 18 | about 4 years ago | Library for unit testing with memory leak detection (Linux, freeBSD and Windows) |
| minunit | 578 | almost 2 years ago | Minimal unit testing framework for C |
| munit | Small but full-featured unit testing framework for C with no dependencies | ||
| Unity | Simple unit testing framework for C | ||
Contents / Text Editor Extensions / Atom | |||
| linter-clang | 55 | about 2 years ago | Lint C code in Atom, using Clang |
| linter-gcc | 71 | over 3 years ago | Lint C code in Atom, using GCC |
Contents / Text Editor Extensions / Emacs | |||
| CEDET | Collection of Emacs Development Environment Tools; designed to provide IDE-like features to Emacs. Built-in | ||
| Flycheck | 2,423 | 11 months ago | Modern syntax checking. For C, it can use either GCC or Clang as a back-end |
| Yasnippet | 2,819 | about 1 year ago | Template system, with C templates for common code snippets |
Contents / Text Editor Extensions / Vim | |||
| Syntastic | 11,301 | over 3 years ago | Syntax checking and linting |
| YouCompleteMe | Code completion engine for Vim | ||
Contents / Tools | |||
| Artistic Style | Fast and small automatic source code formatter that supports C | ||
| address-sanitizer | 11,610 | 12 months ago | Fast memory error detector |
| biicode | Modern dependency manager for C | ||
| c | 2,107 | almost 2 years ago | Compile and execute C "scripts" in one go on the command line. Also has shebang support |
| c99sh | 106 | about 1 year ago | Run C files using hash-bang |
| CBMC | C Bounded Model Checker; a tool for verification of array bounds, pointer safety and user-specified assertions | ||
| cdecl | Online service to translate C declarations into English and vice versa | ||
| cinclude2dot | Graphs include dependencies in a C project using Graphviz | ||
| Complexity | Tool for measuring the complexity of C source code | ||
| CScout | Source code analyzer and refactoring browser for collections of C programs | ||
| DDD | Graphical front-end for a range of command-line debuggers | ||
| GDB | The GNU Project debugger; a debugger for C | ||
| Glade | RAD tool to enable quick development of GTK+ GUIs | ||
| GMSL | GNU Make Standard Library; a collection of additional functionality for GNU Make | ||
| GNU Global | Source code tagging tool which works with C | ||
| gprof | Performance analysis tool. Part of GNU binutils | ||
| Highlight | Converts source code to formatted text with nice highlighting | ||
| include-what-you-use | 4,142 | 11 months ago | Helps find unecessary inclusions and make suggestions for fixing them. Based on LLVM/Clang (and only works with it) |
| indent | Formats C source code automatically to make it easier to read. Also converts from one style of source to another | ||
| rr | Debugger that records non-deterministic executions to allow for deterministic debugging | ||
| tup | Very fast, file-based, cross-platform build system | ||
| unifdef | Removes #ifdef and #if directives with their delimited text without touching any other part of the file. and | ||
| Valgrind | Range of dynamic analysis tools, including a leak checker | ||
Contents / Utilities | |||
| ApeTagLibs | 12 | about 1 year ago | C library for working with APEv2 tags |
| bfd | Library for manipulating binary object files. Part of GNU binutils | ||
| cf4ocl | The C Framework for OpenCL; a cross-platform object-oriented framework for developing and benchmarking projects. or | ||
| CommonMark | 4,895 | about 1 year ago | C implementation of the CommonMark spec |
| CException | 328 | about 1 year ago | C implementation of exceptions |
| docopt.c | 320 | over 1 year ago | C implementation of a command-line option parser |
| dyncall | Another foreign function interface library | ||
| FANN | Fast Artifical Neural Network library; an implementation of neural networks | ||
| Firm | C library that provides a graph-based intermediate representation, optimizations and assembly code generation suitable for use in compilers. Comes with an example C front-end under the same license | ||
| Genann | 2,017 | over 1 year ago | Simple neural network library in C |
| gjrand | Library of random-number generation routines. or | ||
| GNU FreeIPMI | In-band and out-of-band IPMI implementation | ||
| GNU gperf | Perfect hash function generator, given a list of strings. Outputs C code | ||
| GNU Libffcall | Collection of libraries for building foreign function interfaces | ||
| gperftools | 8,510 | 11 months ago | Collection of utilities for measuring and improving performance |
| huffandpuff | 99 | over 12 years ago | Minimal Huffman encoder and decoder |
| kdtree | 396 | about 4 years ago | Simple library for working with KD-trees |
| Kitsune | Efficient, general-purpose framework for dynamic software updating | ||
| libavl | Library containing a range of self-balancing binary trees | ||
| libbson | 347 | about 5 years ago | BSON utility library |
| libCello | Library introducing higher-level programming to C | ||
| libffi | 3,240 | 10 months ago | Portable foreign-function interface library |
| libgit2 | Pure C implementation of Git | ||
| libimobiledevice | 6,737 | 11 months ago | Cross-platform protocol library to communicate with iThings. or |
| libnfc | 1,734 | 12 months ago | Platform-independent Near-Field Communication library |
| libPhenom | 1,660 | over 6 years ago | Deprecated, here for archival purposes. Eventing framework for building high-scalability and high-performance systems |
| ncurses | Coloured terminal UI library | ||
| nope.c | 694 | almost 8 years ago | C-language-based, ultra-light software platform for scalable server-side and networking applications (think node.js for C programmers) |
| pbc | 1,626 | almost 3 years ago | Protocol buffers library |
| rabbitmq-c | 1,774 | 11 months ago | Client library for |
| Ragel | DSL for state machines that compiles to C | ||
| Tinyexpr | 1,619 | about 1 year ago | Tiny recursive-descent parser, compiler and evaluation engine for simple mathematical expressions |
| uthash | Hash table implementation, allowing existing structures to be stored in a hash table easily | ||
| cpu_features | 2,468 | 11 months ago | A cross platform C99 library to get cpu features at runtime |
| pblog | 30 | almost 8 years ago | Small, low overhead, structured logging library intended for logging formware events |
| libelf | 66 | over 8 years ago | ELF object file access library in C |
| mcpp | Portable C preprocessor | ||
| libusb | Generic access to USB devices | ||
| alsa-lib | Userspace library to interact with ALSA | ||
| Capstone | 7,674 | 10 months ago | Dissasembly/disassembler framework |
Contents / XML | |||
| Expat | Stream-oriented XML parser | ||
| libxml2 | Standards-compliant, portable XML parser | ||
| mini-xml | 454 | 11 months ago | Small XML reading and writing library. No dependencies aside from C standard library |