windows搭建objective-c的學習環境

來源:互聯網
上載者:User

如今iphone開發越來越火,俺也湊湊熱鬧學習一下objective-c,但是公司全是清一色的windows xp系統(不要聲張公司機器)(^_^),沒法學習和調試。學習程式設計語言最忌諱的就是只看書不動手,所以必須找一個類比環境寫幾個程式試試。網上聽說有GNUstep的類比unix環境,於是就上網下載了一個。

 

在:http://www.gnustep.org/experience/Windows.html

一共需要四個安裝包: GNUstep System

,GNUstep Core

,GNUstep Devel

,Cairo Backend

順序安裝就OK了。

 

windows上可以沒有像Mac OS X上Xcode那樣的objective-c的開發環境,所以需要找一個簡易順手的編輯環境。

一般常見的有UltraEdit,Notepad++和Emeditor,個人習慣原因一直使用Emeditor。

 

編寫一個例子程式測試一下環境是否正確。最近正在讀《Objective-C Beginner's Guide.pdf》,所以就把有關NSDictionary類的例子打了一遍。

首先進入GNUstep安裝目錄下的使用者目錄。假如說當前系統的使用者名稱是chen,在C盤下安裝的GNUStep,那麼目前使用者的home目錄應該是

C:/GNUstep/home/chen。

 

再開啟開始菜單啟動剛才安裝的GNUStep的shell的控制台程式。

用unix命令mkdir Dictionary建立一個例子程式的目錄Dictionary,並且cd Dictionary進入該目錄。

在該目錄下建立兩個檔案,一個是原始碼檔案Dictionary.m還有一個編譯設定檔GNUmakefile。

 

測試代碼Dictionary.m內容如下

#import <Foundation/NSString.h><br />#import <Foundation/NSAutoreleasePool.h><br />#import <Foundation/NSDictionary.h><br />#import <Foundation/NSEnumerator.h><br />#import <Foundation/Foundation.h><br />#import <stdio.h><br />void print(NSDictionary *map) {<br />NSEnumerator *enumerator = [map keyEnumerator];<br />id key;</p><p>while(key = [enumerator nextObject]) {<br />printf("%s => %s /n",<br />[[key description] cString],<br />[[[map objectForKey: key] description] cString]);<br />}<br />}<br />int main(int argc, const char *argv[]) {<br />NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];<br />NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys :<br />@"one", [NSNumber numberWithInt: 1],<br />@"two", [NSNumber numberWithInt: 2],<br />@"three", [NSNumber numberWithInt: 3], nil];<br />NSMutableDictionary *mutable = [[NSMutableDictionary alloc] init];</p><p>//print dictionary<br />printf("----static dictionary/n");<br />print(dictionary);</p><p>//add objects<br />[mutable setObject: @"Tom" forKey: @"tom@jones.com"];<br />[mutable setObject: @"Bob" forKey: @"bob@dole.com"];</p><p>//print mutable dictionary<br />printf("----mutable dictionary/n");<br />print(mutable);</p><p>//free memory<br />[dictionary release];<br />[mutable release];<br />[pool release];</p><p>return 0;<br />}

 

編譯設定檔GNUmakefile內容如下

include $(GNUSTEP_MAKEFILES)/common.make<br />TOOL_NAME=Dictionary<br />Dictionary_OBJC_FILES=Dictionary.m<br />include $(GNUSTEP_MAKEFILES)/tool.make

 

編輯儲存檔案後,回到shell環境下,輸入make命令編譯原始碼,編譯器會自動尋找目前的目錄下的GNUmakefile設定檔。

如果編譯成功,會自動產生一個obj目錄,該目錄內有編譯連結後的目標檔案。

使用命令./obj/Dictionary.exe啟動剛才產生的Dictionary.exe檔案,觀察運行結果。

 

整個搭建編碼編譯的過程就是這樣,需要補充的是GNUmakefile編譯檔案的寫法。

例子中的四行配置語句的順序不能亂,但是中間可以有空行,

TOOL_NAME=Dictionary

Dictionary

_OBJC_FILES=Dictionary.m

紅字表示最終產生的目標名,也就是可執行檔的名稱可以與原始碼檔案名稱不同。

原始碼部分就不解釋了,純屬打字而已,把整份文檔看下來也就明白了,34頁的文檔看起來也是很輕鬆的。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.