Skip to content

🔧 C

The language of operating systems, kernels, and firmware. Closest to the metal without writing assembly.

Learning Path

Stage Resource Link
Beginner Programming in C (NPTEL, IIT Kanpur) NPTEL
Beginner C Programming (Neso Academy) YouTube
Intermediate Beej's Guide to C beej.us/guide/bgc
Advanced Linux Kernel (Bootlin) bootlin.com/training/kernel
Expert The C Programming Language (K&R) Classic textbook

Frameworks & Libraries

Embedded / RTOS

→ See Embedded Track

Library Use Link
FreeRTOS Real-time OS freertos.org
Zephyr Modern RTOS zephyrproject.org
CMSIS ARM Cortex-M HAL arm.com/cmsis
lwIP Lightweight TCP/IP savannah.nongnu.org/projects/lwip

Systems / Networking

Library Use Link
libuv Async I/O (Node.js core) libuv.org
libcurl HTTP client curl.se/libcurl
SQLite Embedded database sqlite.org
OpenSSL Cryptography openssl.org

Books (Free)

Book Link
Beej's Guide to C Programming beej.us/guide/bgc
Beej's Guide to Network Programming beej.us/guide/bgnet
Modern C (Jens Gustedt) gustedt.gitlabpages.inria.fr/modern-c
Linux Device Drivers (LDD3) lwn.net/Kernel/LDD3

Cross-references: Embedded Track · Systems Track · Subjects: OS & Kernel