A curated list of C libraries, frameworks, compilers, tooling, utilities, learning resources, and ecosystem components — covering systems programming, embedded development, performance optimization, and cross-platform software engineering.
- Official Resources
- Compilers
- Build Systems
- Standard Libraries & Utility Libraries
- Memory Management
- Networking
- Multithreading & Concurrency
- Graphics & Multimedia
- Game Development
- Numerical & Scientific Computing
- Embedded & Systems Programming
- Testing & Debugging
- Learning Resources
- Related Awesome Lists
- C Language Standard (ISO/IEC) – Official standard documentation.
- C FAQ – Classic C programming FAQ.
- cppreference C Section – Comprehensive reference for C language and library features.
- GCC – GNU Compiler Collection.
- Clang/LLVM – Modern, modular compiler suite.
- TinyCC – Small, fast C compiler.
- PCC – Portable C Compiler.
- MSVC – Microsoft’s C/C++ compiler toolchain.
- CMake – Cross-platform build system.
- Meson – Fast, modern build system.
- Ninja – Small, low-level build tool.
- Autotools – Classic build system for Unix.
- musl libc – Lightweight standard library implementation.
- glib – Portable low-level core library.
- libuv – Cross-platform asynchronous I/O.
- klib – Small and efficient utility library.
- sds – Simple dynamic strings library used in Redis.
- uthash – Hash tables and data structures for C.
- cJSON – Lightweight JSON parser.
- Jansson – Full-featured JSON library.
- talloc – Hierarchical memory allocator.
- jemalloc – High-performance malloc implementation.
- mimalloc – Optimized allocator by Microsoft.
- rpmalloc – Fast, lock-free memory allocator.
- libcurl – HTTP and networking toolkit.
- nghttp2 – HTTP/2 library.
- libwebsockets – WebSocket server and client.
- nanomsg – High-performance messaging library.
- ZeroMQ – Asynchronous messaging framework.
- pthread – POSIX threads.
- Concurrency Kit – Lock-free concurrency primitives.
- OpenMP – Parallelization framework for C.
- SDL2 – Multimedia, graphics, and input library.
- SFML (C Bindings) – Multimedia library bindings for C.
- Cairo – 2D graphics rendering.
- OpenGL – GPU hardware-accelerated rendering.
- stb – Single-file image and graphics libraries.
- Raylib (C Library) – Simple and modern game programming library.
- SDL2 – Foundation for many games.
- cglm – Graphics math library for games and engines.
- BLAS – Basic linear algebra subprograms.
- LAPACK – Linear algebra routines.
- FFTW – Fast Fourier Transform library.
- GSL – GNU Scientific Library.
- FreeRTOS – Real-time operating system kernel.
- lwIP – Lightweight TCP/IP stack.
- mbed TLS – Embedded-friendly TLS library.
- Zephyr RTOS – Real-time OS for embedded systems.
- Unity Test Framework – Unit testing for C.
- Check – Unit testing framework.
- Valgrind – Memory debugging and profiling.
- GDB – The GNU debugger.
- AddressSanitizer – Detect memory errors.
-
Books
- The C Programming Language by Kernighan & Ritchie.
- Expert C Programming: Deep C Secrets.
- C Programming: A Modern Approach.
-
Online
- Learn C in Y Minutes
- TutorialsPoint C Programming
- Harvard CS50 – C programming foundations.
-
Reference
Contributions are welcome. Please ensure your submission fully follows the requirements outlined in CONTRIBUTING.md, including formatting, scope alignment, and category placement.
Pull requests that do not adhere to the contribution guidelines may be closed.