Objective-C Language Handledning
Komma igång med mål-C-språk
Sök…
versioner
Hej världen
Detta program kommer att visa "Hello World!"
#import <Foundation/Foundation.h>
int main(int argc, char * argv[]) {
NSLog(@"Hello World!");
}
#import
är ett pre-processor-direktiv, som indikerar att vi vill importera eller inkludera informationen från den filen till programmet. I detta fall kommer kompilatorn att kopiera innehållet i Foundation.h
i Foundation
ramverket till toppen av filen. Den viktigaste skillnaden mellan #import och #include är att #import är "smart" nog för att inte bearbeta filer som redan har inkluderats i andra #inkluderar.
Den C-språket dokumentation förklarar main
NSLog()
kommer att skriva ut strängen som tillhandahålls till konsolen, tillsammans med viss felsökningsinformation. I det här fallet använder vi en Objekt-C-strängbokstav: @"Hello World!"
. I C skulle du skriva detta som "Hello World!"
emellertid lägger Apples Foundation Framework till NSString
klassen som ger mycket användbar funktionalitet och används av NSLog. Det enklaste sättet att skapa en förekomst av NSString
är så här: @" string content here "
.
Tekniskt sett är NSLog () en del av Apples Foundation Framework och ingår inte i målet Objekt-C. Foundation Framework är emellertid allestädes närvarande under Objekt-C-programmering. Eftersom Foundation Framework inte är öppen källkod och inte kan användas utanför Apple-utvecklingen, finns det öppna källkodsalternativ till ramverket som är associerade med OPENStep och GNUStep .
Kompilera programmet
Förutsatt att vi vill sammanställa vårt Hello World-program, som består av en enda hello.m
fil, är kommandot för att kompilera den körbara:
clang -framework Foundation hello.m -o hello
Sedan kan du köra det:
./hello
Detta kommer att matas ut:
Hello World!
Alternativen är:
-framework
: Anger ett ramverk som ska användas för att sammanställa programmet. Eftersom detta program använder Foundation, inkluderar vi Foundation-ramverket.-o
: Det här alternativet anger vilken fil vi vill skicka ut vårt program. I vårt fallhello
. Om det inte anges är standardvärdeta.out
.