07_传智播客iOS视频教程_#import指令

mac切换中英文输入法默认是Ctrl+空格键.


预处理指令的执行时机是在编译之前。在编译之前执行预处理指令。

#import指令是包含文件,将指定的文件的内容在预编译的时候拷贝到写指令的地方。

#import指令无论把一个文件import了多少次,它只会包含一次。include指令如何实现这个效果?

#include指令必须要配合条件编译指令才能实现只拷贝一次效果。而咱们的#import指令不需要。

#import指令和#include的指令的区别是:import指令无论你去包含多少次,它只会包含一次。上课的思路得跟着老师来。


//
//  main.m
//  Day01-OC基础语法
//
//  Created by blueheart on 17/7/2.
//  Copyright © 2017年 itcast. All rights reserved.
//
/*
  1.OC相对于C
    a.在C的基础之上新增了一小部分面向对象的语法.
    b.将C的复杂的、繁琐的、可恶的语法封装的更为简单.
    c.OC完全兼容C语言.
  2.OC程序的源文件的后缀名是.m  m代表message 代表OC中最重要的1个机制  消息机制.
    C程序的源文件的后缀名.c
  3.main函数仍然是OC程序的入口和出口.
    
    int类型的返回值 代表程序的结束状态.返回值0是正常结束.
    main函数的参数:仍然可以接收用户在运行程序的时候传递数据给程序内部.
                  参数也可以不要.
  4. #import指令
     1).以#号开头,是一个预处理指令.
     2).作用:   是#include指令的增强版. 将文件的内容在预编译的时候拷贝到写指令的地方.
     3).增强:   同1个文件无论#import多少次,只会包含一次.
                如果#include指令要实现这个效果   就必须要配合条件编译指令来实现.
                而#import指令只需要直接包含就可以  其他什么都不用做.
     4).简要原理:  #import指令在包含文件的时候,底层会先判断这个文件是否被包含  如果被包含就会略过  否则才会包含.
     
 
*/
#import <Foundation/Foundation.h>
//#include "itcast.h"
//#include "itcast.h"
//#include "itcast.h"
//#include "itcast.h"
#import "itcast.h"
#import "itcast.h"
#import "itcast.h"
#import "itcast.h"
#import "itcast.h"
#import "itcast.h"
#import "itcast.h"//无论import多少次 最终编译器只会把文件的内容包含一次  这就是import指令牛叉的地方
//int main(int argc, const char * argv[]) {
int main() {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, 传智播客!");
    }
    return 0;
}
//
//  itcast.h
//  Day01-OC基础语法
//
//  Created by blueheart on 17/7/2.
//  Copyright © 2017年 itcast. All rights reserved.
//

#ifndef itcast_h
#define itcast_h

#include <stdio.h>
void sayHi();//函数的声明,不实现了没有意思

//
#endif /* itcast_h */
//
//  itcast.c
//  Day01-OC基础语法
//
//  Created by blueheart on 17/7/2.
//  Copyright © 2017年 itcast. All rights reserved.
//

#include "itcast.h"

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/7107483.html