1.1 创建一个Terminal Application

88497010 2015-07-08

1、问题:

不依靠XCode带的额外特性,只想用Terminal来构建一个简单的Objective-C程序。这个程序将利用Objective-C向Mac的terminal console window上输出一段消息。

2、解决方案

用你喜欢的文本编辑器在你的主目录中创建一个文件,/Users/[yourusername]/。比如vi或Mac带的图形化的TextEdit——请确保要保存为纯文本。

在该文件中加一个main函数,导入Foundation框架。

编译:用工具clang。就能够创建一个可执行文件,可以从terminal screen中运行该文件。

3、原理

Objective-C需要启动的代码总是放在main函数中,该函数带一些参数,并返回一个integer。使用Objective-C对象,需要导入Foundation框架。

在main函数中,必须创建一个autorelease pool,Objective-C用它来管理内存。好了后,就可以用NSString类来创建一个Hello World字符串,并用NSLog将它写到console中。

编译命令clang的选项:

(1)-fobjc 意思是用的编程语言是Objective-C

(2)-arc 自动引用计数

(3)-framework 用于链接到Foundation框架

(4)-o 创建的可执行文件的名字

注意:如果你的Mac运行的是OSX 10.7 or greater,那么你可以使用自动引用计数。ARC是OSX 10.7中可用的一个新特性,用于内存管理。

4、代码

#import <Foundation/Foundation.h>

int main(int argc, const char* argv[]) {

    @autoreleasepool {

        NSString *helloString = @"Hello World";

        NSLog(@"%@", helloString);

     }

    return 0;

}

5、使用

打开terminal,编译代码。代码文件名:main.m

clang -fobjc -framework Foundation main.m -o maccommandlineapp

运行:

在terminal中输入:run maccommandlineapp

相关推荐