How C Code Becomes a Running Linux Process
A single GCC command hides several distinct transformations, followed later by Linux process startup. Saving each intermediate file makes macros, assembly, ELF objects, linking, and dynamic loading much easier to reason about.