1.1 创建一个Terminal Application
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