近打算針對iPhone、iPod touch和iPad開發一些應用,所以,需要開始學習Objective C(蘋果推出的類似C語言的開發語言)。由於蘋果的自我封閉的產業鏈發展模式(從晶片、機器、開發語言、終端產品、服務)的限制,要想開發針對蘋果iPhone等產品的應用程式,就需要用Mac機器,在Xcode的IDE上使用Objective C語言開發。Mac機器就不用說了,那比PC機器要貴不少(當然性價比還是很高的),所以,要想廉價方式學習Objective
C就必須要在Windows上能搭建一個Objective C開發環境。好了,不說廢話了。
在Windows下搭建Objective C開發環境,需要到GNUstep官方網站上下載,四個軟體包:GNUstep
MSYS System、GNUstep
Core、GNUstep
Devel、Cairo
Backend。其中,前兩個軟體包是必須要安裝的,第三個軟體包是安裝一些開發工具,比如:gcc、g++等,所以如果是學習Objective C的話,這個包也是必須要安裝,第四個軟體包是安裝glib等庫,這個包安裝不安裝根據具體情況而定。
至於GNUstep是什麼東西,有什麼用處,這裡做個簡單的介紹:GNUstep就是提供類似Cocoa(蘋果OS的開發架構)的API和工具,目前支援GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免費使用的。這個項目使Objective C能在多數流行平台上開發和運行。有關詳細的介紹開始參考GNUstep的官方網站。
言歸正傳,下載上述軟體包後,點擊安裝就可以了。然後,需要確認是否安裝成功,並且是否能成功編譯Objective C代碼。
在“開始”菜單中“所有程式”下可以找到“GNUstep”->“shell”,就會出console視窗,可以試試一些Linux命令(ls,cd,mkdir等)。
編寫一個Objective C代碼進行編譯運行測試。在這裡就用經典的“hello world”來說明:
[code="c"]#import
int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];
return 0;
}
[size=14px; color: #333333; line-height: 26px; font-family: Arial;]在Windows環境下用文字編輯器(Editplus,UE等),編寫上述代碼,並且儲存到GNUstep安裝目錄下的/home下,取名為helloworld.m。在GNUstep的console視窗命令列下,[/size]
1、cd /home
2、gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
3、運行helloworld.exe
說明:第二步中的一些參數明說,如果熟悉Linux/Unix下C/C++編譯的話,上述參數應該很熟悉,-I表示標頭檔尋找的路徑,-L表示庫檔案尋找路徑,-l表示需要連結的庫檔案。但是,-fconstant-string-class=NSConstantString 對於這個參數可能比較陌生,這個參數主要是指定常量字串所使用的class。
helloworld.exe編譯並運行成功的話,說明windows下Objective C開發環境就搭建好了,這樣就可以開始以廉價方式的學習Objective C。:)