一、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 的程序就讲到这
 */

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。