黑马程序员技术交流社区
标题:
求解include和import的区别!
[打印本页]
作者:
wx_rMI3RFr8
时间:
2016-4-18 00:08
标题:
求解include和import的区别!
求解include和import的区别!求指点!
作者:
HSQI
时间:
2016-4-18 14:57
区别1:#import是由Xcode使用的编译器提供的,#import可保证头文件只被包含一次(通俗地讲,就是可以防止重复包含),而C语言中要使用基于#ifdef命令的方案来避免这一问题。
区别2:在C语言中,往往要包含很多头文件,像stdio、string、stdlib等等,而在OC中,只要用一句#import <foundation/foundation.h>就可以代替#include的很多语句。
仅供参考,相互学习,多多指教,for better ithetma!
作者:
缘之有缘
时间:
2016-4-18 22:38
前来学习
作者:
张立鹏
时间:
2016-4-19 00:34
二楼总结的挺全的了,不过要指出的是,#import指令和#include指令都是预处理指令,在编译前完成指令操作,将目标文件复制到指令的位置,#import指令只是#include指令的加强,可以避免重复包含,不过#import也有缺点,当我们在不同的类文件中互相使用的#import指令,此时则会出现重复定义的错误,所以这个时候我们通常使用@class关键字在头文件中,来声明一个类,只在.m实现文件中再真正导入需要的文件,来避免在头文件中重复定义的问题
作者:
毛小猪
时间:
2016-4-19 17:28
二楼总结的挺全的
作者:
lion_good
时间:
2016-4-19 19:51
学习了
作者:
zghnyyez445
时间:
2016-4-21 16:12
简单点说#import可以防止重复包含,#include则不会,需要加入#ifnodef ,但是#import在多个文件相互引用时编译效率也会变低,因为一旦其中一个中改变,下面的都需要重新编译.一般重复引用时都用@class
作者:
Latinno
时间:
2016-4-21 23:50
二楼正解
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2