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 開發之外使用,因此該框架的開源替代品與 OPENStep 和 GNUStep 相關聯。
編譯程式
假設我們要編譯包含單個 hello.m
檔案的 Hello World 程式,編譯可執行檔案的命令是:
clang -framework Foundation hello.m -o hello
然後你可以執行它:
./hello
這將輸出:
Hello World!
選項是:
-
-framework
:指定用於編譯程式的框架。由於該程式使用 Foundation,因此我們包含 Foundation 框架。 -
-o
:此選項指示我們要輸出程式的檔案。在我們的案例中hello
。如果未指定,則預設值為a.out
。