Objective-C LanguageObjective-C语言入门


版本

发布日期
1.0 1983年1月1日
2.0 2007-10-27
现代 2014年3月10日

你好,世界

该程序将输出“Hello World!”

#import <Foundation/Foundation.h>

int main(int argc, char * argv[]) {
    NSLog(@"Hello World!");
}
 

#import 是一个预处理器指令,表示我们要将该文件中的信息导入或包含在程序中。在这种情况下,编译器会将Foundation 框架中Foundation.h 的内容复制到文件的顶部。 #import和#include之间的主要区别在于#import是“智能”的,足以不重新处理已经包含在其他#includes中的文件。

C语言文档解释了main 功能。

NSLog() 函数将打印提供给控制台的字符串以及一些调试信息。在这种情况下,我们使用Objective-C字符串文字: @"Hello World!" 。在C中,你会把它写成"Hello World!" 但是,Apple的Foundation Framework添加了NSString 类,它提供了许多有用的功能,并由NSLog使用。创建NSString 实例的最简单方法是这样的: @" string content here "

从技术上讲,NSLog()是Apple的Foundation Framework的一部分,实际上并不是Objective-C语言的一部分。但是,基础框架在Objective-C编程中无处不在。由于Foundation Framework不是开源的,不能在Apple开发之外使用,因此该框架的开源替代品与OPENStepGNUStep相关联。


编译程序

假设我们要编译包含单个hello.m 文件的Hello World程序,编译可执行文件的命令是:

clang -framework Foundation hello.m -o hello
 

然后你可以运行它:

./hello
 

这将输出:

Hello World!
 

选项是:

  • -framework :指定用于编译程序的框架。由于该程序使用Foundation,因此我们包含Foundation框架。

  • -o :此选项指示我们要输出程序的文件。在我们的例子中hello 。如果未指定,则默认值为a.out