We all know how a series of C ++ language programs, 1 and 0, are used by computers to change from. h and. cpp files to executable files containing 1 and 0? It can be considered that there are several phases of the source program-> preprocessing-> compilation and Optimization-> generating the target file-> link-> Executable File 1. preprocessing of C ++ refers to the processing of C ++ program source code by the pre-processor before the C ++ program source code is compiled. This process does not parse the source code of the program. Preprocessor refers to an independent program called by the compiler before the actual compilation starts. The pre-processor is mainly responsible for the following: 1. macro replacement 2. delete comment 3. process preprocessing commands, such as # include, # ifdef. If we have the following code: temp. h copy the Code # ifndef _ HEADERNAME_H # define _ HEADERNAME_H 1 # include <iostream> inline void show (char * a) {std: cout <a <std: endl; // annotation} # endif copy the code main. cpp copy Code # include "temp. h "# define MACRO" This is a macro "extern int I; int main () {std: cout <I <std: endl; show (MACRO );