にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

Objective-CでHello world

せっかくなので練習がてら。

Mac OS Xの場合

Xcodeをインストールしておいて、以下のコードを例えばhello.mとして作成。

#import <stdio.h>
#import <Foundation/NSObject.h>

@interface HelloClass : NSObject
- (void) sayHello;
@end

@implementation HelloClass
- (void) sayHello {
    printf("Hello Objective-C world!\n");
}
@end

int main() {
    id obj = [HelloClass alloc];
    [obj sayHello];
    return 0;
}

で、コンパイル&実行。

$ gcc -o hello hello.m -framework foundation
$ ./hello
Hello Objective-C world!

Ubuntu 10.04の場合

gobjcをインストールしておく。

$ sudo apt-get install gobjc

同様にhello.mを作成。インポートするヘッダファイルや継承元のオブジェクトが異なる。

#import <stdio.h>
#import <objc/Object.h>

@interface HelloClass : Object
- (void)sayHello;
@end

@implementation HelloClass
- (void)sayHello {
    printf("Hello, Objective-C world!\n");
}
@end

int main() {
    id obj = [HelloClass alloc];
    [obj sayHello];
    return 0;
}

コンパイル&実行。

$ gcc -o hello hello.m -lobjc
$ ./hello
Hello Objective-C world!

おしまい

たぶんMac上でしかObjective-C書かないと思うけど。