运维开发网

objective-C语言 #ifdef __OBJC__做什么以及为什么库列在下面?

运维开发网 https://www.qedev.com 2020-02-26 08:52 出处:网络 作者:运维开发网整理
我相信#ifdef __OBJC__指令确保我只为Objective-C导入以下类库.在ifdef语句之后列出类库的目的是什么?这个代码示例有没有打败目的? #ifdef __OBJC__ #import <foundation/foundation.h> #import <uikit/uikit.h> #import <coredata/coredata.h> #endif </coredata
我相信#ifdef __OBJC__指令确保我只为Objective-C导入以下类库.在ifdef语句之后列出类库的目的是什么?这个代码示例有没有打败目的?

#ifdef __OBJC__
#import <foundation/foundation.h>
#import <uikit/uikit.h>
#import <coredata/coredata.h>
#endif
</coredata/coredata.h></uikit/uikit.h></foundation/foundation.h>
Objective-C是C的超集(就像C一样),并且通常来自不同语言的文件将在同一个项目中使用并共享标题,尤其是前缀标题.与#ifdef __cplusplus一样,#ifdef __OBJC__允许您仅为适当的语言包含(或#import for Objective-C)标头.

.c,.cpp和.m文件中包含的相同标头(使用默认编译器设置)只能为.m文件定义__OBJ__.

0

精彩评论

暂无评论...
验证码 换一张
取 消