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