v Developer Tools

MacOSXっていつ発売だったっけ? MacOSXの発売を機にこのホームページを書きはじめたんだけど、本職のほうが忙しくてメールのチェックもままならない状況で、なかなかホームページが充実しません。まめにホームページを更新しているK仲川さんや鶴薗さんには頭が下がります。
本職もプログラマーですが、例にもれずMacとは関係ありません。Javaをやってますが、携帯絡みなのでWin2000で仕事してます。Javaの開発といえWindows無しではどうにもなりません。なんか皮肉です。

今回はDeveloperToolsについて書きます(ねたがあんまり新鮮じゃないけど)。MacOSXを買うともれなく、OS9のほかにDeveloperToolsというのがついてきます。なんだか得した気分です。でもDeveloperToolsって何なんだと言うと、名前の通りOSXの開発のためのソフトウェアです。これさえあればCodeWarriorを買わなくても、C/C++、ObjectiveCの開発ができるようになります。この前(iii MacOSXでプログラミングを始めよう)ではJavaプログラミングを紹介しましたが、Javaに関してはDeveloperToolsをインストールしなくても開発ができます。でもDeveloperToolsをインストールすれば、Javaもより快適に開発ができるようになります。


DeveloperToolsとは


DeveloperToolsとは、OSXの開発のためのソフトウェアですが、正確に言うと開発のためのソフトウェア群です。DeveloperToolsという単独のソフトウェアがあるわけではなく、コンパイラ(GCC)、デバッガ(GDB)、IDE(統合開発環境、プロジェクトビルダー)、その他、GUI設計ツール、リビジョンコントローラー(CVS)などのソフトウェア群の総称です。
UNIXではオープンソースのソフトウェアが多く、新規にソフトウェアをインストールする前に、一旦コンパイルしないといけなかったりするので、DeveloperToolsに含まれるような開発ソフトが標準で使えます。PublicBetaの時はDeveloperToolsは、ADC(Apple Developer Connection)に入会して、Appleからダウンロードしないといけなかったのですが、正式版ではインストールCDが添付されました。Appleとしても、より開発者を増やしたいのと、UNIXユーザーをOSXに取り込みたいという意向がうかがえます。今後もOSXのパッケージにDeveloperToolsが付いてきて欲しいものです。

インストール

OSXを管理者権限のユーザーあるいはrootでログインし、DeveloperTools CDを入れます。DeveloperTools CDのなかの"Developer.pkg"をダブルクリックしてインストールを開始します。これからはOSXやpkg形式のインストーラーの場合と同じです。最初に管理者パスワードを入力し、指示に従ってインストールを進めましょう。
インストールが終了すると(再起動は必要だっけな?) "/"以下に"Developer"というディレクトリが出来て、そのなかにDeveloperToolsの主要ファイル、アプリケーションがインストールされました。"/Developer/Applications"に開発に使うアプリケーションがいくつかありますが、このなかで最も重要なのは"Project Builder"です。

Developer Tools のインストール

Developer Toolsの中身




Project Builder

ProjectBuilderとはいわゆる統合開発環境(IDE)です。統合開発環境とは開発の際使用するプロジェクトの設定、ソースを書くためのエディタ、コンパイル、デバッグを一つのアプリケーション上で行うことのできるソフトウェアです。GUI設計など複数のアプリケーションを使う場合もありますが、IDEを中心にシームレスに作業ができます。
ProjectBuilderを含めDeveloperToolsに含まれるソフトウェアは全て英語版です。ただし日本語が扱えないというわけではありません。


とりあえず使ってみる(C言語プログラミング)

とりあえずProjectBuilderを使ってみましょう。"/Developer/Applications/Project Builder"を起動して下さい。新規のプロジェクトを作成していないので、ただメニューバーが出るだけです。新規にプロジェクトを作成してみましょう。メニューの[File->New Project]を選びます。そうすると新しいプロジェクトのタイプを選択するダイアログが出ます。

今回は一番単純なC言語でのCUIアプリケーションを作ってみます。ダイアログボックスの選択肢のなかの[Tool->Standard Tool]を選択します。 ProjectBuilderではCUIアプリケーションのことを"Tool"と呼んでます。またC言語はUNIXでは基本プログラミング言語なので"Standard"なわけです。


プロジェクトの選択


Standard Toolを選択しNextボタンを押すと、プロジェクトの保存先を入力するためのダイアログが出ます。ここではホームディレクトリに保存することにしますので、"Location"のフィールドは"~/"で結構です。保存場所を選びたい時は"Location"のフィールドの右にある、"Set"ボタンを押すと保存場所をシートで選べます。"Project name"は"HelloWorld"とします。


プロジェクトの保存


プロジェクトの作成は完了です。"HelloWorld.pbproj"というウィンドゥが出たはずです。ソースコードなどが表示される欄にはProjectBuilderのリリースノートが表示されています。これはどうでもいいので、早速ソースコード(プログラム)を見てみましょう。

"Groups & Files"欄の"Source"フォルダの左の矢印アイコンをクリックして下さい。"main.c"というCマークのアイコンが出ますので、これをクリックして下さい。これが一応サンプルのソースコードです。本来はこれをプロジェクトから外してから新たにソースコードを書くのですが、せっかくなので今回はこれをそのまま使ってみます。今回はC言語ですが、内容的には(iii MacOSXでプログラミングを始めよう)で使ったJavaプログラムと変わりないです。ここではC言語講座はやらないので、いちいちプログラムの説明はしませんが、標準出力に"Hello, World!"と一行表示するだけのプログラムです。


ソースコードの表示


では早速"main.c"をコンパイルしてみましょう。ウィンドゥ左上のトンカチボタン押せばコンパイルできます。コンパイルが開始されるとソースコード欄の上の"Build"タブが勝手に選択されて、上から2つの欄がせり出してきて、その下側に何やらテキストが表示されます。これはGCCが出力したものですが、今はあまり気にしなくていいです。今回はデフォルトのサンプルプログラムをコンパイルしたのでエラーは出ませんが、エラーがあった場合は上側の欄にエラー内容が表示されます。


ProjectBuilderでのコンパイル


せっかくコンパイルしたので実行してみましょう。今度はウィンドゥ左上のモニタボタンを押して下さい。今度は"Run"タブが勝手に選択されて、"Hello, World!"と表示されたはずです。"HelloWorld has exited with status 0."はプログラムが正常にしたよ、ということです。
このプログラムでは標準出力に"Hello, World!"と表示するのですが、ProjectBuilderでは、"Run"タブを選択すると出てくる欄が標準出力になります。標準出力は通常はターミナルの画面だったりするのですが、アプリケーションの起動の仕方でいろんな場所に出力されます。


ProjectBuilder上での実行


では、出来たアプリケーションはいったいどこにあるのでしょうか。最初にプロジェクトの保存場所をホームディレクトリにしました。ホームディレクトリには"HelloWorld"というディレクトリが出来ていると思います。そのなかには"HelloWorld.pbproj","main.c"の2つのファイルと"build"というディレクトリがあるはずです。ちなみにですが"HelloWorld.pbproj"はこのプロジェクトのプロジェクトファイルそのものです。
出来たアプリケーションは"build"ディレクトリの中にある"HelloWorld"というファイルです。今回はCUIアプリケーションなのでFinderからは起動できません。Terminalを使います。

Terminalを立ち上げて下さい。次にカレントディレクトリを"~/HelloWorld/buld"にします。"./HelloWorld"とタイプして下さい("./"はカレントディレクトリにパスが通っていない時のためのおまじない)。"Hello, World!"と1行表示されたはずです。確かに"HelloWorld"というプログラムが出来ていますね。
MacOSXはWindowsと違って、CUIアプリケーションはFinderから立ち上がらないし、GUIアプリケーションはターミナルからは起動しません。不便なような律儀なような。CUI(Darwin)アプリケーションはたいていデーモン(バックグラウンドプロセス)として動いているのでいいのですけど。でもC言語やJavaの学習には、最初は標準入出力を利用するのがいいと思うのだけど、今は違うのかな?


生成されたプログラムとTerminalでの実行



準備はできた!

ProjectBuilderを使えば、ソフトウェア開発の一連の作業 ソースコードを書く -> コンパイルする -> 実行する が簡単に出来るわけです。同様のやり方でCUIアプリケーション(Tool)だけでなく、Cocoa、Carbonアプリケーション、さらにはJavaアプリケーションやAppletまで開発できます。MacOSXアプリケーションを作るため、がんばってC言語は最低マスターしましょう。ここではC言語講座はやらないので、次の本でも読んでみてはどうでしょうか。

独習C 改訂版
翔泳社 ISBN:488135700X

最近本屋でよく見かける独習シリーズの元祖。演習を繰り返してC言語をマスターできます。まともに演習をこなすにはちょっと根性いるかも。独習シリーズにはC++,JavaさらにはUNIXもあります。"独習Cocoa"や"独習Objective-C"もあるといいのですがね。

プログラミング言語C ANSI規格準拠 第2版
共立出版 ISBN:4320026926

C言語のバイブル。著者の頭文字をとって"K&R"と呼ばれる。中級者向け。とりあえず形から入る人にはいいでしょう。

ちなみにJavaもいいですが、オブジェクト指向はきちんと理解しましょう。
次回はGCCを使ってみます。

06/12/2001

目次に戻る