HAYAGUI

MacOS X 10.4 + Xcode 2.2 で Hello World

はじめに

Xcode 2.2 で C言語の Hello World を作ってみます。おまけでユニバーサルバイナリにしてみます。

Xcode 2.2 をインストール

以下のURLから Xcode 2.2 をダウンロードします。

http://developer.apple.com/tools/xcode/index.html

xcode_2.2_8m654_018213974.dmg をマウントして XcodeTools.mpkg を起動してインストールします。

/Developer/Applications にインストールされます。

Hello World

C言語で Hello World を作ってみます。
  1. Xcode 2.2 を起動します。
  2. 「ファイル」「新規プロジェクト」で「アシスタント」を開きます。
  3. 「Command Line Utility」ツリーの「Standard Tool」を選択して「次へ」ボタンをクリックします。

  4. プロジェクト名に「helloworld」と入力します。保存ディレクトリは、ユーザのホームディレクトリです。「完了」ボタンをクリックします。

  5. helloworld プロジェクトの中にテンプレートが作成されます。

  6. main.c をダブルクリックすると、helloworld が出来ていました。 親切!と思ったら、プロジェクト名が hogehgoe でも出来る。

  7. 「ビルドして実行」したらこんな感じ。

ターミナル上からはこんな感じ。
ibg4:~/helloworld/build/Debug kenz$ pwd
/Users/kenz/helloworld/build/Debug
ibg4:~/helloworld/build/Debug kenz$ ls -la
total 96
drwxr-xr-x   3 kenz  kenz    102 Apr  1 22:13 .
drwxr-xr-x   4 kenz  kenz    136 Apr  1 22:13 ..
-rwxr-xr-x   1 kenz  kenz  46868 Apr  1 22:13 helloworld
ibg4:~/helloworld/build/Debug kenz$ ./helloworld 
Hello, World!
ibg4:~/helloworld/build/Debug kenz$ 
ibg4:~/helloworld/build/Debug kenz$ file helloworld 
helloworld: Mach-O executable ppc
ibg4:~/helloworld/build/Debug kenz$ 
ppc 用のバイナリなんだなと。

ユニバーサルバイナリ

ユニバーサルバイナリを作る時は、 メニューの「プロジェクト」「プロジェクト設定を編集」を開きます。

初期設定は、ビルドしたアーキテクチャになっているので、 「アーキテクチャ」を選択して「編集」をクリックして、「intel」にチェックを入れます。

このように設定が変わります。

再度 Build します。

ibg4:~/helloworld/build/Debug kenz$ ls -la
total 160
drwxr-xr-x   3 kenz  kenz    102 Apr  1 22:22 .
drwxr-xr-x   4 kenz  kenz    136 Apr  1 22:13 ..
-rwxr-xr-x   1 kenz  kenz  78972 Apr  1 22:22 helloworld
ibg4:~/helloworld/build/Debug kenz$ file helloworld 
helloworld: Mach-O fat file with 2 architectures
helloworld (for architecture ppc):      Mach-O executable ppc
helloworld (for architecture i386):     Mach-O executable i386
ibg4:~/helloworld/build/Debug kenz$ 
ibg4:~/helloworld/build/Debug kenz$ ./helloworld 
Hello, World!
ibg4:~/helloworld/build/Debug kenz$ 
こんな感じになる。 intel アーキテクチャがないので実行できず。

今度は、intel専用にして Build するとこんな感じ。

ibg4:~/helloworld/build/Debug kenz$ ls -la
total 56
drwxr-xr-x   3 kenz  kenz    102 Apr  1 22:24 .
drwxr-xr-x   4 kenz  kenz    136 Apr  1 22:13 ..
-rwxr-xr-x   1 kenz  kenz  25724 Apr  1 22:24 helloworld
ibg4:~/helloworld/build/Debug kenz$ file helloworld 
helloworld: Mach-O executable i386
ibg4:~/helloworld/build/Debug kenz$ 
ファイルサイズを見ると面白いね。

戻る



(C)1999 - 2006 Kenji Ito All rights reserved.