小糖出品:oc中#import和#include之间的区别

来源:互联网 发布:程序员一年经验工资 编辑:程序博客网 时间:2024/06/02 16:55

             大家好!小糖又回来了(大笑)。

             今天给大家讲讲oc中#import和#include之间的区别。

             之前接触过c语言的人一定对 #include<stdio.h> 这条预编译语句很熟悉吧。那么,#include是什么东西呢?相信很多人都已经知道了,这条预处理语句其实就是将某个

   头文件包含进c语言文件中,以上面那个语句为例,其实就是将stdio.h里头的东西复制粘贴到使用该语句的文件中,也就是所谓的导入。那么,你想过吗?如果你在同一文件中

   同时使用了两次#include<stdio.h>会发生什么事?答案是会报错。所以在用#include时,你要注意不要重复使用,否则会引起错误。

            #import又是什么呢?小糖在第一次看oc时注意到了这个东西,当时的想法是#import和#include二者的功能是一样的,但是回过神来想,它们真的一样吗?如果一样,为

   什么oc中不用#include而用#import呢?这让小糖非常不理解,直到某个视频对其进行了讲解,小糖才焕然大悟。那么,它们的区别在哪呢?

            前面我们提到,如果在一个文件中同时用了两次#include是会报错的。那如果我对#import使用两次会发生什么事呢?答案是不会报错(惊恐)。为啥它不报错呢?它究竟

   是如何实现的呢?别急,容小糖慢慢道来。

            其实,为啥它不报错的原因很简单,只是对导入的文件做了一次检查而已。比如说我在oc中创建了一个汽车类Car,那么当我第一次导入的时候,import对前面的import进

  行了一次检查,发现前面导入的文件和Car.h里面的内容不一样,在编译的时候就会复制粘贴。我在#import"Car.h"下面再使用一次#import"Car.h",这时候它再次进行检查,发

  现和前面导入的文件一样,那么它便不再复制粘贴(这里说的检查是在编译的时候进行的)。所以,用import可以重复导入同一个头文件。可以说,import是include的一种延伸,

  在oc中用import无须担心因为导入同一个头文件而引发的错误。

           好了,这次博文就到这里了。欢迎继续关注小糖的下一篇博文。谢谢大家。


0 0
原创粉丝点击