- 2008/08/04
- Objective-C
けっこう時間が経ってしまいましたが、Objective-Cの勉強をぼちぼち始めました。iPhoneの実機も手に入ったし、Macアプリでも作りたいものがモヤモヤと湧いてきたしで。とりあえずプログラミング言語の手習いとしては王道のHello Worldを表示させることに。しかもコマンドラインで。
GUIアプリケーションはCocoaのお陰で非常に簡単に作れるのはサンプルチュートリアルで体感したのですが、ちょっとした実験や勉強用のプログラムで、Interface Builderをいじくるのは面倒だったのでコマンドラインをチョイス(こうやってInterface Builderの勉強が遅れるという)。
続きを読むでHello Worldスクリプト。
まずXcodeで、新規プロジェクトを作成する
普通にMacアプリケーションを作るのであれば
- 「新規プロジェクト」→「Application」→「Cocoa Application」
を選択するのだけど、今回はコマンドラインで作りたかったので、
- 「新規プロジェクト」→「Command Line Utility」→「Foundation Tool」
を選択。
適当に保存ディレクトリとプロジェクト名を入力して準備完了。今回は「HelloWorld1」というプロジェクト名に。
ソースを開く
「HelloWorld1.m」というソースファイルがあるので、それを開くと実はすでにHello Worldが表示出来るサンプルコードが入っていたりする。が、いったんそれを消して教科書通りに自分で打ち込んでみる。
#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;
}
もうね、一つ一つのコードの意味を調べていったらキリがなかったので、これはこうゆうものだと今は流しておくことにした。作っているうちに理解が進むと…いいなぁ。ほとんどC言語と一緒なので分かりやすいといえば分かりやすいけど、そもそもC言語自体を勉強したのが数年以上前でその間、いっさい使っていなかったので忘れたに等しい。
こいつを「ビルドして進行」すると、~/HelloWorld1/build/Release/HelloWorld1 というバイナリが出来るので、ターミナルで ./HelloWorld1 と実行すると「Hello World.」と表示される。
いちいちターミナルで実行するのが面倒なので
Xcodeのメニュー「実行」→「ターミナル」(ショートカット:コマンド+シフト+R)でXcode内にターミナルが表示されて、そこにコンパイルから実行結果まで表示することができるのでお手軽。
次回は、標準入力を使ったHello Worldを作ってみよう。
- Older: ブログ通信簿やってみました