1、 OC程序的开发过程
与C语言类似:
先把.m源文件编译成.o目标文件,然后再把编译好的.o目标文件经过链接形成.out可执行文件。终端指令
1> 编译cc –cmain.m
2> 链接cc main.o –framework Foundation 引用Foundation 框架,没有使用Foundation框架的话,就不用-framework Foundation
3> 运行./a.out
2、 NSLog与printf的区别
1>NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
2>NSLog输出后会自动换行,printf输出后不会自动换行
3>使用NSLog需要#import <Foundation/Foundation.h>
4>使用printf需要#include<stdio.h>
2、 #import的作用与printf的区别
1>跟#include一样,用来拷贝某个文件的内容
2>可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入下面的预处理指令了
#ifndef _STDIO_H_
#define _STDIO_H_
#endif
即如果已经定义了 _STDIO_H_文件就不需要再拷贝了
3、 Foundation框架的作用
1> 开发OC、iOS、Mac程序必备的框架
2> 此框架中包含了很多常用的API(应用编程接口)
3>框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
#import <Foundation/Foundation.h>
4、 BOOL的使用
1>BOOL类型的本质
typedef signed char BOOL;
2>BOOL类型的变量有2种取值:YES、NO
本质定义如下:
#define YES (BOOL)1
#define NO (BOOL)0
3>BOOL的输出(当做整数来用)
NSLog(@"%d%d", YES, NO);
5、多文件开发(与C语言一样)
5.1 多个.m文件的开发
1>编写三个文件
main.m
#import "one.h"
int main()
{
test();
return 0;
}
one.h
void test();
one.m
#import <Foundation/Foundation.h>
void test()
{
NSLog(@"调用了test函数");
}
2>
终端指令
2.1>编译:cc –c main.m one.m
2.2>链接:cc main.o
one
.o –framework Foundation2.3>运行:./a.out
5.2 .m文件和.C文件的混合开发
1>编写三个文件
main.m
#import "one.h"
int main()
{
test();
return0;
}
one.h
void test();
one.c
#include<stdio.h>
void test()
{
printf("调用了test函数\n");
}
2>
终端指令
2.1>编译:cc –c main.m one.c
2.2>链接:cc main.o one.o
2.3>运行:./a.out