Objective-C Language Ciao mondo


Esempio

Questo programma produrrà "Hello World!"

#import <Foundation/Foundation.h>

int main(int argc, char * argv[]) {
    NSLog(@"Hello World!");
}

#import è una direttiva pre-processore, che indica che vogliamo importare o includere le informazioni da quel file nel programma. In questo caso, il compilatore copierà il contenuto di Foundation.h nel framework Foundation nella parte superiore del file. La principale differenza tra #import e #include è che #import è abbastanza "intelligente" da non rielaborare i file che sono già stati inclusi in altri #inclusi.

La documentazione del linguaggio C spiega la funzione main .

La funzione NSLog() stamperà la stringa fornita alla console, insieme ad alcune informazioni di debug. In questo caso, utilizziamo un letterale stringa Objective-C: @"Hello World!" . In C, dovresti scrivere questo come "Hello World!" , tuttavia, Foundation Framework di Apple aggiunge la classe NSString che fornisce molte utili funzionalità ed è utilizzata da NSLog. Il modo più semplice per creare un'istanza di NSString è il seguente: @" string content here " .

Tecnicamente, NSLog () fa parte del Framework Foundation di Apple e non fa parte del linguaggio Objective-C. Tuttavia, il Framework della Fondazione è onnipresente in tutta la programmazione Objective-C. Poiché Foundation Framework non è open source e non può essere utilizzato al di fuori dello sviluppo di Apple, esistono alternative open source al framework associate a OPENStep e GNUStep .


Compilare il programma

Supponendo di voler compilare il nostro programma Hello World, che consiste in un singolo file hello.m , il comando per compilare l'eseguibile è:

clang -framework Foundation hello.m -o hello

Quindi puoi eseguirlo:

./hello

Questo produrrà:

Hello World!

Le opzioni sono:

  • -framework : specifica un framework da utilizzare per compilare il programma. Poiché questo programma utilizza Foundation, includiamo il framework Foundation.

  • -o : questa opzione indica a quale file desideriamo pubblicare il nostro programma. Nel nostro caso hello . Se non specificato, il valore predefinito è a.out .