oc——与c之不同——文件包含 默认初始化

本文探讨了Objective-C编程语言中#import与#include预编译指令的行为差异,特别是在头文件重复包含的情况下的表现。文中通过具体示例展示了#import如何避免重复包含导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件包含

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

默认初始化

c

oc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值