The compiled (and byte-compiled) build models are the hardest to reason about, so let's investigate what compiling software entails. It's shocking how few newly trained programmers really understand this, so we'll start from first principles. If you already know this stuff, feel free to skip ahead.
For a good understanding, it's best to think about each manual step rather than rely on your IDE to do all the rebuilding work for you. This five-part story of a simple program's development will explain:
You're starting a new project, coded in C. It will solve all the ills
of the software development world and will usher in a new era of world
peace. However all you have at first is a single file containing
main. You've ...