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