Objective-C语言你好,世界

示例

该程序将输出“ Hello World!”。

#import <Foundation/Foundation.h>

int main(int argc, char * argv[]) {
    NSLog(@"你好,世界!");
}

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

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

该NSLog()函数将打印提供给控制台的字符串以及一些调试信息。在这种情况下,我们使用Objective-C的字符串文字:@"你好,世界!"。在C语言中,您可以将其编写为"你好,世界!",但是Apple的Foundation Framework添加了NSString该类,该类提供了许多有用的功能,并且被NSLog使用。创建的最简单的方法NSString是这样的:。@"string content here"

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


编译程序

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

clang -framework Foundationhello.m-o hello

然后,您可以运行它:

./hello

这将输出:

你好,世界!

选项包括:

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

  • -o:此选项指示我们要将程序输出到哪个文件。就我们而言hello。如果未指定,则默认值为a.out。