Objective-C Language チュートリアル
Objective-C言語の使い方
サーチ…
バージョン
こんにちは世界
このプログラムは "Hello World!"を出力します。
#import <Foundation/Foundation.h>
int main(int argc, char * argv[]) {
NSLog(@"Hello World!");
}
#import
はプリプロセッサディレクティブです。このファイルからの情報をインポートまたはプログラムに含めることを示します。この場合、コンパイラはFoundation
フレームワークのFoundation.h
の内容をファイルの先頭にコピーします。 #importと#includeの主な違いは、#importが他の#includeにすでに含まれているファイルを再処理しないほど "スマート"であることです。
C言語のドキュメントでは、 main
機能について説明しています。
NSLog()
関数は、コンソールに提供された文字列といくつかのデバッグ情報を出力します。この場合、Objective-Cの文字列リテラルを使用します。 @"Hello World!"
。 Cでは、これを"Hello World!"
と書いてい"Hello World!"
しかし、Appleの基盤フレームワークは、多くの便利な機能を提供するNSString
クラスを追加し、NSLogによって使用されます。 NSString
インスタンスを作成する最も簡単な方法は次のようなものです: @" string content here "
技術的には、NSLog()はAppleのFoundation Frameworkの一部であり、Objective-C言語の一部ではありません。しかし、Foundation Frameworkは、Objective-Cプログラミングのいたるところにあります。 Foundation Frameworkはオープンソースではなく、Appleの開発以外では使用できないため、 OPENStepやGNUStepに関連するフレームワークの代替手段があります 。
プログラムのコンパイル
1つのhello.m
ファイルで構成されるHello Worldプログラムをコンパイルしたい場合、実行ファイルをコンパイルするコマンドは次のようになります。
clang -framework Foundation hello.m -o hello
次に、それを実行することができます:
./hello
これは出力されます:
Hello World!
オプションは次のとおりです。
-framework
:プログラムをコンパイルするために使用するフレームワークを指定します。このプログラムはFoundationを使用しているため、Foundationフレームワークが含まれています。-o
:このオプションは、プログラムを出力するファイルを指定します。私たちの場合、hello
。指定しない場合、デフォルト値はa.out
です。