1. Before the compilation of the program
2. After compilation
3. During execution
4. None of the above
Ans: All macro substitutions in a program are done before the compilation of the program, and when all the macros are expanded by their original replacement, the compilation begins.