C33 phases · 132 topics
Progress
0 / 132
Foundations
Pointer Arithmetic
Pointer to Pointer (Double Indirection)
Function Pointers & Callbacks
Core Concepts
Restrict Keyword (C99)
Void Pointers (Generic Pointers)
Complex Pointer Declarations
Intermediate Skills
Dangling Pointers & Safe Patterns
Static, Stack & Heap Allocation
Malloc Internals (glibc)
Advanced Topics
Calloc, Realloc & Aligned Allocation
Memory Pools & Custom Allocators
Memory Corruption Detection
Expert Level
Stack Allocation & VLA (C99)
Memory-Mapped Files (mmap)
Reference Counting in C
Mastery
Token Pasting (##) & Stringification (#)
Variadic Macros & __VA_ARGS__
X-Macros & Code Generation
Ecosystem
Header Guards & #pragma once
#line & #error Directives
Conditional Compilation Patterns
Architecture
Macro Pitfalls: Multiple Evaluation
Translation Phases
Lexical Analysis & Tokens
Optimization
Parsing & AST Generation
Code Generation & Optimization
Linker Relocation & Symbol Resolution
Deployment
Inline Functions vs Macros
Calling Convention (cdecl, stdcall)
POSIX Threads (pthreads)
Phase 11
Mutex & Condition Variables
Thread-Local Storage
C11 Atomics & Memory Order
Phase 12
Lock-Free Data Structures
Signal Handling & Async-Safety
OpenMP Parallel Directives
Phase 13
Compiler Optimization Flags (-O1, -O2, -O3)
Profile-Guided Optimization
Loop Unrolling & Vectorization
Phase 14
Cache-Friendly Data Layout
Branch Prediction & Likely/Unlikely
Inline Assembly Intrinsics
Phase 15
Link-Time Optimization (LTO)
System V AMD64 ABI
Windows x64 Calling Convention
Phase 16
Stack Frame Layout
Return Value Handling
Structure Passing
Phase 17
TLS & Thread-Local Storage ABI
Name Mangling & C Linkage
Volatile & Memory-Mapped I/O
Phase 18
Interrupt Service Routines
Bit Manipulation Techniques
Fixed-Point Arithmetic
Phase 19
Watchdog Timers
Low-Power Modes
Bootloader Implementation
Phase 20
Berkeley Sockets API
TCP Server Implementation
Non-blocking I/O with epoll
Phase 21
UDP Multicast
DNS Resolution (getaddrinfo)
Raw Sockets & Packet Injection
Phase 22
SSL/TLS with OpenSSL
Static vs Shared Libraries
Library Search Paths
Phase 23
Symbol Visibility & dllexport
Linking Order & Undefined Symbols
Shared Library Versioning
Phase 24
Weak Symbols & Interposition
Plugin Systems with dlopen
Unit Testing with CUnit/Check
Phase 25
Mocking in C
Fuzzing with libFuzzer
Assertion-Based Testing
Phase 26
Test Coverage Analysis (gcov)
Continuous Integration for C
Valgrind for Memory Testing
Phase 27
Buffer Overflow Attacks
Stack Canaries
Address Space Layout Randomization
Phase 28
Format String Vulnerabilities
Integer Overflow & Wraparound
Secure Coding Guidelines (CERT)
Phase 29
Static Analysis with Coverity
Recursive Descent Parsing
Lex/Yacc & Flex/Bison
Phase 30
Regular Expressions in C
JSON Parser Implementation
INI File Parser
Phase 31
CSV Parsing Edge Cases
Binary Protocol Parsing
File I/O System Calls
Phase 32
Process Management (fork, exec)
Inter-Process Communication (pipe, FIFO)
Signal Handling
Phase 33
Memory-Mapped Files
Resource Limits (setrlimit)
Daemon Process Creation
C RoadmapC
Space mark complete · Esc close · Drag pan · Wheel zoom