The Compiler as a Code-Reading Tool
- Change the name of a definition and read the errors
- Use intermediate files (preprocessing, symbolic code)
- Read symbolic code to
- To understand how an implementation-defined operation is actually performed
- To see how compiler optimizations affect the resulting code
- To convince yourself that the compiler correctly translates a piece of code, or (rarely) to find a compiler bug
- To verify that hardware-specific code written in C actually performs the operations you expect
- To learn how a particular construct can be written in symbolic code
- Examine the object code using nm (Unix) or dumpbin (Windows)