Apple 在其所有框架类的标头中使用以下代码。
#if !defined(__COREFOUNDATION_CFARRAY__)
#define __COREFOUNDATION_CFARRAY__ 1
...
#endif
在为框架设计类或类别以供框架使用时,这是消除“重复符号”链接器错误的推荐方法,还是这些保留了使用 of#include
而不是#import
在 c 中的保护?
对此的研究使我找到了这篇关于包含警卫的文章
注意:这个问题不是询问如何修复重复符号错误,而是询问是否有任何方法可以防止您自己的代码在项目中包含多次时导致问题。