Home > Objective-C > Objective-CのコマンドラインでHello World!

Objective-CのコマンドラインでHello World!

けっこう時間が経ってしまいましたが、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を作ってみよう。


Comments:1

コメントフォーム:コメントはお気軽にご利用くださいませ。

画像の中に見える文字を入力してください。

田村洋祐 2008年10月19日 18:39

はじめまして、"objectiveC" ”プログラマー”でぐぐったら一番上にきたのでここまでたどり着きました。
その後、objectiveCについてはどうですか?
ただ今、iPhoneを使ってのプロジェクトを進めております。
アイデアはあるのですが、現在iPhoneアプリを作れる技術者が皆無という状態です。
副業でお時間は取らせませんので、お話だけでも聞いていただけないでしょうか。

よろしくお願いいたします。

Trackbacks:0

TrackBack URL for this entry
http://blog.tofu-kun.org/mt-tb.cgi/388
Listed below are links to weblogs that reference
Objective-CのコマンドラインでHello World! from Webプログラマー+WebデザイナーなZARU日記

Home > Objective-C > Objective-CのコマンドラインでHello World!

ブログパーツ
Search
Feeds

Return to top