โ C17 MOC ยท ๐ฏ Mission ยท ๐ Glossary ยท ๐ Teacher Notes
C17 Resources
[!NOTE] Curation Standards Only high-trust ISO standards, authoritative systems literature, official documentation, and curated practitioner communities are listed here.
๐ Knowledge (Primary Sources & Textbooks)
- ISO C17 Standard Draft (N2176)
- Use for: The ultimate authoritative specification for language semantics, grammar, and standard library guarantees.
- Book: Modern C by Jens Gustedt (Inria)
- Use for: Idiomatic modern C (C11/C17/C23), type safety, memory models, modularity, and avoiding historical antipatterns.
- Book: Effective C by Robert C. Seacord
- Use for: Professional defensive programming, dynamic memory security, integer conversion safety, and undefined behavior prevention.
- SEI CERT C Coding Standard
- Use for: Comprehensive rules and security guidelines to avoid software vulnerabilities.
- Beej's Guide to C Programming & Beej's Guide to Network Programming
- Use for: Practical systems programming, socket communication, and POSIX system calls.
- Cppreference C Reference
- Use for: Quick, searchable standard library API lookup and behavior guarantees.
๐ Vault Knowledge Connections
Emulation & VM Specifications
- CHIP-8 Hardware Specifications & Instruction Set: Reference for memory map, timer rates, keypad layout, and opcode decoding logic.
- Computed Gotos & Direct Threaded Code: C compiler extension for branch-prediction-friendly interpreter dispatch.
C Language Storage Classes & Scoping
- Advanced C: Storage Classes Hub: Core reference on scope, linkage, and lifetime.
- Advanced C: Static Storage Class: Internal linkage across translation units and persistent local state.
- Advanced C: Extern Storage Class: External symbol resolution in multi-file C programs.
- Advanced C: Register Storage Class: CPU register hint semantics and
&constraint violations. - Advanced C: Auto Storage Class: Automatic storage duration and stack frames.
- Concept: Variable Linkage: Multi-file symbol visibility rules.
- Concept: Variable Scope: Block vs File vs Function Prototype scopes.
- Concept: Variable Lifetime: Stack vs Static Data Segment object duration.
- Concept: Register Storage: Register optimization requests.
- Concept: Automatic Storage Duration: Stack allocation mechanics.
Diagnostic Benchmarks & Software Design
- Grilling Diagnostic: C Systems Programming Knowledge: Stress-tested diagnostic covering storage classes, array decay, sizeof units, struct alignment, big-endian bitwise packing, and jump tables.
- Defensive Programming & Runtime Invariants: Defensive error checking, pointer validation, and deterministic crash prevention.
- Function Abstraction & Local Reasoning: Deep modularity and interface isolation.
Advanced Memory Models & Concurrency (Comparative Study)
- Concurrency Fundamentals
- Mutex Architecture & Invariants
- CPU Memory Ordering & Memory Barriers
- Mara Bos - Concurrency & Low-Level Memory Notes
๐ฅ Wisdom (Communities & Practice)
- Reddit: r/C_Programming
- Use for: Code reviews, performance analysis, systems architecture questions, and compiler edge cases.
- Stack Overflow (C Tag)
- Use for: Specific diagnostic questions and ISO standard clause interpretation.
- Lobste.rs Systems Tag
- Use for: High-signal engineering discussions on native systems software.
- EmuDev Discord & /r/EmuDev
- Use for: Emulator developer test suites, timing edge cases, and test ROM verification.
โ ๏ธ Knowledge Gaps
- None currently identified. C17 toolchain and ISO specifications are fully standardized.
๐ค Learner Preferences
- Background in Node.js with working familiarity with Go and Rust.
- Prefers deep, rigorous understanding of the memory model, low-level mechanics, and job-readiness over surface-level tutorials.
- Targets macOS and Linux using CMake, Clang, and GCC.
