Keil51头文件REG51.H中__REG51_H__ 是什么意思,能改变吗

Keil51头文件REG51.H中__REG51_H__ 是什么意思,能改变吗

第1个回答  推荐于2016-09-20
不仅是<reg51.h>,通常的头文件都会使用如下方式:

#ifndef __REG51_H__
#define __REG51_H__
//头文件内容...
#endif

意思是,如果预编译时没有定义宏__REG51_H__,则定义该宏,然后编译其后的内容,到#endif结束。其作用是防止头文件嵌套包含时造成的重复编译。
例如,两个文件都包含了<reg51.h>,第一次遇到#include <reg51.h>时,会包括处理此文件,处理的同时定义了__REG51_H__。第二次再遇到#include <reg51.h>的时候,因为已经定义了__REG51_H__,所以编译器不会再处理#endif之前的内容。这样就防止了重复编译。本回答被提问者采纳
相似回答