在stm8s.h的开始有这样几行:
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM8S_H
#define __STM8S_H
注释很清楚:为了防止递归调用。
编译器第一次处理这个头文件时,没有定义过__STM8S_H,所有语句都参与编译;编译器第二次处理这个头文件时,__STM8S_H已经定义过了,这样文件中的所有语句都不再参与编译。
同样,stm8s_conf.h中也有这样的预防机制。 |