Skip to content
academia.sh

Unit 03 of 03

Project Infrastructure

Build systems with a dependency graph, producing static and dynamic libraries, isolated unit tests and mocking, debugging with breakpoints and watchpoints, and how optimization levels preserve observable behavior.

Published Updated

Lessons

  1. 01 Build Systems Measures, by building the timestamp comparison in C itself, why a target whose dependency was never written still stays out of date under a rule-based build model. 15 min read
  2. 02 Building Libraries Measures how whether a library is bound into the program by embedding or read at load time decides which value the program sees when the library's version changes. 15 min read
  3. 03 Testing Frameworks Measures why a change made inside a forked child running a test never leaks into the next test, and why that isolation stops short of covering filesystem state. 15 min read
  4. 04 Using a Debugger Measures, by modeling breakpoints and watchpoints in C, why a breakpoint never sees an intermediate value between steps, and why a watchpoint sees that same value. 14 min read
  5. 05 Optimization Levels Uses the model of an optimizer deleting an unread write to cover the as-if rule, the guarantee volatile provides, and a closing tally of the course's fifteen lessons. 13 min read

Start typing to search.

↑↓ ↵ Esc navigate · open · close