一、OC语言的简介和第一个控制台程序
原创文章,版权所有,转载请注明出处.
Tip : 文章开头,写给小白 : 如果想开发OC程序必须要MacOS系统,如果想在Windows下开发,你可以自行Google这方面的内容,虽然过程麻烦,我相信作为屌丝的你会去尝试.
1. 使用XCode 开发基础的命令行程序
如果机器上没有XCode的朋友需要到苹果的网站去下载,根据你的MacOS版本来下载,等待下载安装完成后在Finder -- 应用程序 里面可以找到XCode , 我已经把XCode 拖到 Dock,以便以后的使用
我使用的XCode版本是5.2,打开XCode 选择 Create New XCode Project ,如下图所示的界面
接下来XCode会让你选择项目的模板,因为是第一个Hello 程序,我选择控制台程序,也就是OS X 栏目下的 Command Line Tool , 点击 Next ,接下来XCode 会让我们填写关于这个项目的信息
1. Product Name : 项目名称
2. Organization Name : 也可以说是作者的名称
3. Company Identifier : 程序的唯一ID,一般是公司域名的颠倒,比如百度公司的项目,com.baidu.project
4. Type : 项目的类型,这里我们选择Foundation , 基础的类型
接下来,XCode会让我们选择项目的路径,使用图形界面选择你项目要保存的路径,点击Create 这样项目就创建完成了
如果看到下面项目的属性,说明你的项目创建成功了.
现在来科普一下常见的文件格式
.m : OC语言的源码,在刚刚所创建的项目中,可以打开.m的文件进行编辑
.c : C语言的源文件
.cc、.cpp 表示C++的源文件
.h : 头文件
.mm : OC++源文件
.pl : Perl 源文件
.o : Object(编译后)的文件
我们打开项目的.m来编辑代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
// // main.m // helloworld // // Created by MrWu on 14-2-12. // Copyright (c) 2014年 MrWu. All rights reserved. // #import <Foundation/Foundation.h> int
main( int
argc, const
char * argv[]) { @autoreleasepool
{ // insert code here... NSLog (@ "HelloWorld" ) ; } return
0; } |
在XCode左上角点击有一个播放的图标,很大,这里就不截图上来了,点击后即可运行,在下方的控制台中可以看到程序的运行信息.
点击按钮之后如果出现Build SUCCESS,说明你的程序没有编译错误
出现Build Faild 则表示你的代码有编译错误,根据系统的错误报告窗口来进行错误的排查
在这篇文章中并不介绍每个代码的含义,我们只是进行环境的测试
如果输出的结果和我的控制台一样(前提是你的代码和我的一样) 就说明我们的程序已经正确的运行成功了
2. 使用Terminal 来编译运行第一个程序
Tip : Terminal 是终端的意思,类似于Windows 的CMD ,在这里大家可以使用基于UNIX的命令,如果你对UNIX比较熟悉的话
首先我们启动终端, 终端程序位于 应用程序 -- 工具 ,在工具里面有控制台 和 终端 在选择的时候要注意别选错.
打开终端,我们将看到如下的界面
刚进入终端,我们的目录是当前用户目录,我这里就是mrwu,首先我们创建一个程序的目录
mkdir progs : 创建一个目录名为 progs 的目录在mrwu文件夹下
cd progs : 进入progs文件夹
vi main.m : 使用vi编辑器编辑名为main.m 的文件
下面开始进入程序的编写,将我们上面的代码复制到VI编辑器的窗口中,新手推荐敲入的方式
编辑完成后,按下ESC按键,退出VI的编辑模式,接着输入命令 ":wq" 来保存VI编辑器所编辑的内容,注意":wq"必须在非编辑状态下进行使用(可以使用ESC建退出编辑状态)
下面我们开始编译,首先要链接Foundation Framework (基础框架)
使用命令 clang -fobjc-arc -framework Foundation main.m -o prog1
如果出现命令找不到(Command Not Found),说明你没有安装Command Line Tools , 解决方法如下 :
打开你的XCode, 在菜单栏找到 XCode -- Preferences -- Download 进行下载 Commend Line Tool
如果编译成功了,则不会提示任何错误信息和警告,这就说明编译成功了,使用ls命令查看当前的文件,如果多了prog1 说明你编译后的命令行程序生成成功了
下面开始运行这个程序,找到prog1 的文件夹所在地址,进入这个文件夹(注意这里进入的是编译后的命令行程序的文件夹,不是源码的文件夹)
./prog1 及表示运行这个程序,至于说该命令前面为何加 "./ " 是用来告诉解释程序,命令行程序位于当前文件夹,当然,如果你蛋疼可以将命令行程序放到其他的文件夹
二、 对HelloWorld 的简单解释
上面我们演示了两种编译和运行OC语言的方式,下面我们针对本篇文章的代码进行一个简单的说明,对于一些脑残的掉渣的东西我也懒得说,比如注释
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 |
// // main.m // helloworld // // Created by MrWu on 14-2-12. // Copyright (c) 2014年 MrWu. All rights reserved. // /* #import 是导入命令 这里我们导入了Foundation/Foundation.h,这个是.h是头文件,这里导入的是Foundation.h 是OC语言基础依赖库中的基础头文件 这个头文件包含了OC语言的最核心的类和函数信息,我们下方使用NSLog也源自这个头文件 */ #import <Foundation/Foundation.h> /* * main 函数, 是程序的入口,这里就不说了 */ int
main( int
argc, const
char * argv[]) { // @autoreleasepool 命令后的{} 程序块,被称为自动释放程序块,顾名思义,在这个程序块中的程序都会被系统自动回收内存,关于这个 // 详细的细节我们后来的文章再进行详细的讲解 @autoreleasepool
{ // insert code here... // NSLog() 是一个系统函数,其参数为字符串,这里使用了一个字符串常量,其值为"HelloWorld" NSLog (@ "HelloWorld" ) ; } // 这里表示程序返回给系统的响应值,0表示程序运行完毕程序正常退出 return
0; } /* 由于今天是HelloWorld 所以关于程序的HelloWorld 的程序就讲到这 */ |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。