Hello World

该程序将输出 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