文件包含
FBAnimal.h
@interface FBAnimal : NSObject
@end
FBAnimal.m
@implementation FBAnimal
@end
c
#include "FBAnimal.h"
#include "FBAnimal.h"
编译error,class FBAnimal重复定义
oc
#include "FBAnimal.h"
#import "FBAnimal.h"
编译正确,没有报class FBAnimal重复定义error
#import "FBAnimal.h"
#include "FBAnimal.h"
编译正确,没有报class FBAnimal重复定义error
#import "FBAnimal.h"
#import "FBAnimal.h"
编译正确,没有报class FBAnimal重复定义error
结论:
- #import预编译指令会进行forward search和downward search,如果指定头文件已经包含,#import预编译指令ignored