手动创建第一个OC程序
2016-01-05 14:57
204 查看
手动创建第一个OC程序
创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑
之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下
#include<stdio.h> int main(){ printf("这是kongqw的第一个OC程序"); return 0; }
运行
编译,生产.o目标文件
cc -c a.m
链接,生成可执行文件
cc a.o
运行
./a.out
由上可见,OC与C语言是完全兼容的,OC的源文件也可以写C语言代码
下面再使用OC的语法输出一段文字
编辑源文件
#import <Foundation/NSObjCRuntime.h> int main(){ NSLog(@"我是使用OC语法输出的一段文字"); return 0; }
编译源文件,生成.o目标文件
cc -c a.m
链接,生成.out可执行文件
这里要格外注意一点,链接的时候要使用framework参数加入Foundation框架
原因很简单,正常不加参数的时候,我们是写C语言代码,默认会给我们链接C的库,现在我们写的是OC的程序,OC给我们封装了很多他们自己的库,默认是不会给我们链接进去的,所以需要我们手动加入,如果不加,链接会报错,找不到链接
cc a.o -framework Foundation
P3
以上都是一个源文件的情况,真正的项目中也不可能只有一个源文件,那么如果有多个源文件,我们怎么一起编译呢?
在这里,我们重新创建几个OC的源文件,如下
编辑
a.m 程序入口
#import "b.h" int main(){ funInB(); return 0; }
b.m
#import <Foundation/NSObjCRuntime.h> void funInB(){ NSLog(@"调用了B里面的方法"); }
b.h b的头文件
void funInB();
编译
cc -c a.m b.m
链接
cc a.o b.o -framework Foundation
运行
./a.out
include与import的区别
区别很简单,C语言都是用include,OC添加的import,可以自动给我们去重,就不用我们再操心是不是include重复了,写OC程序就直接使用import就好了
技巧
以后我们写IOS的程序,工程肯定会很庞大,XCode给我们提供的了很多的框架,有很多很多的库,那么我们用到多少库就要import多少个库吗?
很显然不用,每个库有一个主头文件,命名与框架命名一样,例如:
#import <Foundation/Foundation.h>
相关文章推荐
- 分类算法之贝叶斯网络(Bayesian networks)
- Oracle11g 账号锁定及密码有效期问题
- 动态内存分配
- 提升 DevOps 效率,试试 ChatOps 吧!
- LeetCode105 Construct Binary Tree from Preorder and Inorder Traversal
- 关于unity的一些内容
- KafkaOffsetMonitor的安装和使用
- kettle官网下载
- Cmake升级
- Caffe学习系列(15):计算图片数据的均值
- Introduction
- 2.1 Java I/O简史
- 电脑技术-关于按键精灵不能卸载的问题
- 动态批量删除SQL数据库中的表
- Python学习手册 - 02
- BroadcastReceiver详解
- redhat硬件兼容性查询网站
- lasagne保存网络参数
- javascript DOM
- 160105_看看远处