------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
第一个Objective-C程序:
Objective-C跟c语言一样,程序的入口依然是main函数,只不过是写在一个.m的文件中,代码如下:
文件名:one.m
#include <stdio.h>
int main()
{
printf("第1个OC程序\n");
return 0;
}
使用mac系统终端命令:
1>编译cc-c one.m。//生成文件名.o文件(目标文件)
2>链接cc one.o。// 链接c资源
3>运行./out
第二个Objective-C程序:
使用oc自己框架来编写,代码如下:
文件名:two.m
#import <Foundation/Foundation.h>
int main()
{
NSLog(@"第2个OC程序");
return 0;
}
使用mac系统终端命令:
1>编译cc –c two.m。 //生成目标文件
2>链接cc two.o –framework Foundation 。//链接框架资源
3>运行./a.out。
第三个Objective-C程序(多文件开发):3个文件(main.m、three.h、three.m)
main.m文件:
#import "three.h"
int main()
{
test();
return 0;
}
three.h文件:
void test();
three.m文件
#import <Foundation/Foundation.h>
void test()
{
NSLog(@"第3个oc程序");
}
使用mac系统终端命令:
1>编译:cc –c main.m three.m
2>链接:cc main.o three.o –framework Foundation
3>运行:./a.out
.m文件和.c文件混用开发:3个文件(four. m、four.h、four.c)
文件:four.m
#import "four.h"
int main()
{
test();
return 0;
}
文件:four.h
void test();
文件:four.c
#include <stdio.h>
void test()
{
printf(".m文件和.c文件混用开发\n");
}
使用mac系统终端命令:
1>编译:cc –c main.m four.m
2>链接:cc main.o four.o //没有使用Foundation框架的话,就不用-framework Foundation
3>运行:./a.out
总结:
1>NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数。
2>NSLog输出后会自动换行,printf输出后不会自动换行。
3>使用NSLog需要#import <Foundation/Foundation.h>。
4>使用printf需要#include <stdio.h>。
5>#import跟#include一样,用来拷贝某个文件的内容。
6>#import对比#included的好处是可以自动防止文件内被多次拷贝。