The notebook index
Post archive
3 posts in C and compilers.
- Cross compilation: build, host and target are different questions
The build, host, and target labels describe a compiler’s own construction and output roles. Ordinary package cross compilation adds separate questions about headers, libraries, and where the result can run.
- A closure in C is a function plus an environment
A callback and an explicit context pointer form a portable way to represent closure-like behavior in C. Keeping the environment visible makes its lifetime and calling convention part of the design.
- C is an abstract machine, even on familiar hardware
C arithmetic follows language rules, not a promise about the processor’s usual instruction. That distinction matters when a compiler reasons about overflow and when code needs a checked result.