摘要:
对于如下情况:有多个源文件(.c 或.cpp),都引用了同一个头文件,为了防止出现重复定义的情况,我们经常需要使用条件编译。参考:http://baike.baidu.com/view/1617265.htmTips:在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,多个c文件包含同一个h文件也不会报错。但是在c++语言中,#ifndef的作用域只是在单个文件中。所以如果h文件里定义了全局变量,即使采用#ifndef宏定义,一个c文件包含同一个h文件多次还是会出现全局变量重定义的错误。使用#ifndef可以避免下面这 阅读全文