ksaitoの日記

日々試したことの覚え書き

Objective-C入門

Objective-Cは、NeXT StepやMac OS X公用語C言語Smalltalkを足したような言語らしいです。
なんにしても新しい言語を使ってみるというのは、楽しみなものです。
まずは、Hello, Worldです。

コンパイラとライブラリのインストール

aptのgobjcパッケージがGNU Objective-Cコンパイラです。
標準ライブラリだと思うのですがgnustep-makeも一緒にインストールします。

$ sudo aptitude install gobjc gnustep-devel

ソースの準備

ソースです。
意外と行数が多いのと[]で囲まれた表記が特徴あります。
なんとなく意味は分かりますが、最適なコードを書くには、たくさん書いてみないとダメですね。

$ cat hello.m
#include <Foundation/NSObject.h>
#include <stdio.h>

@interface HelloWorld:NSObject
- (void)hello;
@end

@implementation HelloWorld

- (void)hello {
        printf("Hello, World!!\n");
}

@end

int main(int argc, char **argv) {
        id obj = [HelloWorld alloc];
        [obj hello];
        return 0;
}

コンパイルとリンクと実行

コンパイルとリンクは、ヘッダファイルとライブラリの違いだけで、普通のgccコンパイラの使い方と同じです。

$ gcc -I/usr/include/GNUstep/ -c hello.m 
$ gcc -lobjc -lgnustep-base -o hello hello.o
$ ./hello 
Hello, World!!
$