在我第一次接触#ifndef… #define… #endif的时候,就不停的有人告诉我,在写头文件时要加上这些语句,否则当此头文件被多个源文件包含时,编译时会产生重定义的错误!!!
然后,我每次就乖乖的加上了,确实没产生过重定义的错误。
但天生喜欢探索、敢于尝试的我今天偏不信邪就在外部中断实验中,把sys.h文件里的 #ifndef… #define… #endif 语句注释了,然后在MDK里编译……
结果是没发生任何错误!!奇怪了……怎么回事呢??
结论:我发现那么多人相信的事情,可能是一种迷信,呵呵!!
急需解释……!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
给你想个循环包含的吧:增加test.h,test.h include sys.h,sys.h include test.h。
一周热门 更多>