头文件包含是一个递归(循环)的过程,如果被包含的头文件中还包含了其他的头文件,预处理器会继续将它们也包含进来;这个过程会一直持续下去,直到不再包含任何头文件,这与递归的过程颇为相似。
递归包含会导致一个问题,就是重复引入同一个源文件,如果不做任何处理,不仅会出现重复定义错误,而且不符合编程规范。
对此,可以通过宏保护来解决这个问题。
#ifndef _HMCSynth_h
#define _HMCSynth_h
/* 头文件内容 */
#endif
头文件包含是一个递归(循环)的过程,如果被包含的头文件中还包含了其他的头文件,预处理器会继续将它们也包含进来;这个过程会一直持续下去,直到不再包含任何头文件,这与递归的过程颇为相似。
递归包含会导致一个问题,就是重复引入同一个源文件,如果不做任何处理,不仅会出现重复定义错误,而且不符合编程规范。
对此,可以通过宏保护来解决这个问题。
#ifndef _HMCSynth_h
#define _HMCSynth_h
/* 头文件内容 */
#endif