Skip to content

brandonhimpfen/awesome-c

Repository files navigation

Awesome C Awesome Lists

GitHub Sponsors   Ko-Fi   PayPal   Stripe   X   Facebook

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.

Contents

Official Resources

Compilers

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

Build Systems

  • CMake – Cross-platform build system.
  • Meson – Fast, modern build system.
  • Ninja – Small, low-level build tool.
  • Autotools – Classic build system for Unix.

Standard Libraries & Utility Libraries

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

Memory Management

  • talloc – Hierarchical memory allocator.
  • jemalloc – High-performance malloc implementation.
  • mimalloc – Optimized allocator by Microsoft.
  • rpmalloc – Fast, lock-free memory allocator.

Networking

  • libcurl – HTTP and networking toolkit.
  • nghttp2 – HTTP/2 library.
  • libwebsockets – WebSocket server and client.
  • nanomsg – High-performance messaging library.
  • ZeroMQ – Asynchronous messaging framework.

Multithreading & Concurrency

Graphics & Multimedia

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

Game Development

  • Raylib (C Library) – Simple and modern game programming library.
  • SDL2 – Foundation for many games.
  • cglm – Graphics math library for games and engines.

Numerical & Scientific Computing

  • BLAS – Basic linear algebra subprograms.
  • LAPACK – Linear algebra routines.
  • FFTW – Fast Fourier Transform library.
  • GSL – GNU Scientific Library.

Embedded & Systems Programming

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

Testing & Debugging

Learning Resources

Related Awesome Lists

Contribute

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.

License

CC0

About

A curated list of C libraries, frameworks, compilers, tooling, utilities, learning resources, and ecosystem components.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages