Objective-C 実行環境の構築 【初級 第一回】
今回はObjective-Cの実行環境に関する内容です。
Objective-Cの実行環境をLinuxで整える
Objective-C…?
この言語、普段Macを使用しているわけでもなく、特にApple製品に興味があるわけでもなかったので、
正直一昔前までは全く知りもしない言語でした。
逆にMAC OSの技術者の方ならおなじみの言語でしょう。
それが最近一般にも浸透してきている(違う業界に勤めているPCに疎い友人でも知ってました。)のはIPhoneの存在でしょうか。
そこでちょっとづつObjective-Cのコードを書いていこうと思います。
Objective-Cに関しての詳しい説明は他のところに任せるとして・・・
Objective-Cは簡単にいうと、C言語にオブジェクト指向を組み込んだ言語です。
実行するにはMac OSが必要かと思いきや基本的な学習をするには、Linuxでも可能です。
そこでLinuxで基本的な手法を学習しようと思います。
今回は環境を作るところです。(といってもあまり何もしてませんが。
Objective-Cをインストールする
まずコンパイラをいれます。今回のOSはCentOSとなっています。
Linuxインストール時に開発環境のチェックをつけておけば、gccというC言語のコンパイラが入っています。
このgccを使用してObjective-Cをコンパイルすることができます。
ただこのままではObjective-Cが使用できないため、objcパッケージをインストールする必要があります。
手っ取り早くyumを使用してインストールします。
#yum install gcc-objc
私の環境では以下にObjective-Cのヘッダーファイルが格納されました。
「/usr/lib/gcc/i386-redhat-linux/4.1.1/include/objc/」
サンプルプログラムを実行
コンパイラの準備ができたのでとりあえず試しに何か動かしてみましょう。
まずC言語も普通に使用できるということで以下のよくあるCのコードを実行してみました。
- まずテキストエディタに以下のコードを入力しました。
#include <stdio.h> int main(){ printf("Hello World!!"); return 0; }
- 作成したコードを拡張子「.m」で保存します。
Objective-Cのソースファイルは拡張子が上記のものとなります。今回は「test.m」としておきます。 - 保存したものをコンパイルします。
gcc -o [file] -lobjc [sourcefile]
「-o」オプションを使用して出力先ファイル「file」を指定します。このオプションを指定しないと「a.out」というファイルに
出力されることになります。「-lobjc」オプションをつけることでリンク時に使用するライブラリを指定します。Objective-Cではこのオプションを使用しなければなりません。つけないとほぼCの今回のコードでは警告がでませんが、Objective-Cで拡張された部分を使用しているコードでは警告が出てしまいます。
「sourcefile」には作成したソースコードを指定します。
- 実行する
「Hello World!!」とでるだけです。
このようにCが拡張されているものなのでC言語のコードも動作します。
Objective-Cのコードを実行
さて、これではObjective-Cのコードが動くのか不明なので、Objective-Cコードも試します。
今回はまず実行できる環境作成がメインなので、各コードの意味に関しては次回に回します。
#import <objc/Object.h> @interface TestClass:Object -(void)testMethod; @end //ここから下が実装 @implementation TestClass -(void)testMethod{ printf("Hello World!!"); } @end int main(){ id myobj = [TestClass alloc]; [myobj testMethod]; [myobj free]; return 0; }
作成したファイルを「helloobjc.m」として保存しコンパイルします。出力先は「helloobjc」とします。
gcc -lobjc -o helloobjc helloobj.m
結果は先ほどと変わりませんが、問題なければひとまず実行できる環境ができたということでOKです。
TechProjin 開発系基礎講座 連載リンク
基礎からPHPWEBアプリ解発を学ぶなら・・
PHP基礎 連載
AIなどで注目急上昇!これから学ぶならPython!!
独学で学ぶ-pythonプログラミング 連載
汎用性◎ 定番プログラミング言語JAVA
Java基礎講座 連載