not to get into too much nitty gritty details, but just want to confirm:
compiler takes source code and turns it into object code but still cannot be run even though it's machine language/cod, and then the object code (object files if a bunch of these) and a linker program converts to executable to run your program.
But in everyday day use, when we say: "My program doesn't compile", are we generalizing that it is performing these two steps?
If a program doesn't compile, it means that the compiler saw something it didn't like. So when people say* their program doesn't compile, it means their program was not fully compiled, so the linker never got the chance to kick-in.
mx760 wrote:
"But in everyday day use, when we say: "My program doesn't compile", are we generalizing that it is performing these two steps?"
Yes, and no. I've seen people say their program doesn't compile, but it was in fact a linker error.