pragma mark 第一个OC程序
pragma mark 概念
/*
工具箱的地址
Finder --> 应用程序 -->Xcode 显示内容 --> Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library
终端:cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks
open ./ 即可
// 规律 : 所有的主头文件的名称 都和工具箱的名称一致
// 所有的主头文件都是导入了该工具箱中所有工具的头文件
*/
pragma mark 代码
#include <stdio.h> // 标准输入输出 C函数库
// Foundation.h 我们称之为主头文件,主头文件中 又拷贝了该工具箱所有工具的头文件, 我们只需要导入主头文件就可以使用该工具箱中的所有工具,避免了每次使用都要导入一个对应的头文件
#pragma 查找 Foundation 的位置
#import <Foundation/Foundation.h> // 告诉 编译器 可以使用NSLog函数
#import <Foundation/Foundation.h> // 写多次都是导入一次
#import <Foundation/Foundation.h>
/**
import 的功能 和 include一样, 是将右边的文件拷贝到当前import的位置 (增加了头文件卫士功能)
为了降低程序员的负担,防止重复导入,避免程序员 书写 头文件卫士, 那么 OC给出一个新的预处理指令 import
improt有点: 会自动防止重复拷贝
C语言
之前include创建文件的时候, 下面的意思是 判断有没有导入了zs这个头文件,如果没有就导入, 如果导入了就不再导入了
#ifndef zs_h // 头文件卫士
#define zs_h // 头文件卫士
#include <stdio.h>
#endif // 头文件卫士
*/
#import "zs.h"
/*
因为OC完全兼容C, 所以可以在OC程序中编写C语言代码
并且可以将C语言的源文件和OC的源文件组合在一起生成可执行文件√
*/
int main(int argc, const char * argv[])
{
// 1. OC是兼容C的
printf("c hello World\n");
printf("c hello World\n");
/*
printf 和 NSLog 的 区别:
NSLog会自动换行
NSLog 在输出内容时 附加一些系统信息 时间
NSLog 和 printf接收的参数不一样
*/
NSLog(@"OC hello World");
NSLog(@"OC hello World");
NSLog(@"sum = %i",sum(20, 20));
return 0;
}