#include or #import <objc/runtime.h>?

5

对于 iPhone 应用,我应该使用 #include 还是 #import,为什么?

我看到过这两种写法,例如 #import#include

3个回答

10
如果头文件有传统的include guards,那么你使用哪种方式都没关系,这更多是一种风格选择。如果你使用#import而不是#include,可能会有微小的性能提升,但我怀疑这不会很明显,因为大多数编译器现在都足够聪明,能够识别包含保护并进行优化。
另一方面,如果头文件没有包含保护,则应始终使用#import,因为#import将确保头文件仅被包含一次——如果您意外地两次#include这样的头文件,几乎肯定会出现关于重新定义等的大量编译器错误。
由于大多数Objective-C头文件(特别是来自Objective-C运行时或Cocoa头文件的头文件)都没有包含保护,因此在包含它们时应使用#import。在包含标准C库头文件或第三方库的头文件时,选择哪种都无所谓——选择一种风格并保持一致即可。

6

使用 #import。它的优点在于,如果文件已经被包含,它不会再次“重新包含”。


5

始终使用#import - 它会确保相同的头文件不会被#include两次。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接