头文件重复引用

Q:.h头文件中的ifndef/define/endif 的作用? 

 A:防止该头文件被重复引用。

 说明:

有些头文件重复包含只是增加了编译工作的工作量,不会引起太大的问题,仅仅是编译效率低一些。

有的会引起错误,比如在头文件中定义了全局变量(虽然这种方式不被推荐,但确实是C规范允许的) 。

如果头文件被循环包含,有的编译器会智能处理,和只include一次一样;有的会报错,有的直接死锁,导致编译程序崩溃(这个只有很低级的编译器才会出现在几乎看不到了)。

不管怎样,用ifnde xxx #define xxx或者其他方式避免头文件重复包含,只有好处没有坏处,是一个很好的习惯

原文地址:https://www.cnblogs.com/yedushusheng/p/5521579.html