【转贴】先學Objective-C吧~GNUstep環境安裝於Windows

在參考了幾本iPhone的教學書籍和史丹佛的iPhone開發課程前三章之後,果然還是覺得先從Objective-C的程式語言基礎開始。雖然對於C 語言並不陌生,但Objective-C的語法和一些結構,似乎較於C語言又多了不少,尤其是2.0的新加入特性,是需要花些時間仔細學習。


GNUstep是一個不錯的選擇,這個是一個實作出Cocoa/OpenStep APIs的跨平台開發環境,GNUstep可以在Linux和Windows平台下使用。拿來作學習Objective-C的練習平台是足夠的。 GNUstep目前也支援Objective-C 2.0,但其中仍有一些差異性,可以看 StackoverflowGNUstep Google group的討論。

以下以Windows作業系統為例,說明如何建置一個練習Objective-C語言的環境。

1.安裝MinGW和GNUstep到Windows中

先到GNUstep的 Windows版本下載頁面,下載GNUstep System和GNUstep Core,這邊下載的是0.23.x以上的版本,然後安裝到自己的電腦上。System中就會帶有 MinGW 這個開發環境和相關程式。
objc1-1

2.執行GNUstep的shell

在安裝完成後,應該會看到類似C:\GNUstep的目錄出現在你的電腦中(預設是裝在C磁碟下,如果是別的磁碟或目錄中,應該要有類似的安裝好的目錄出現)。這時候執行「開始→程式集→GNUstep→shell」後,會跳出以下的視窗,這個就是GNUstep的shell(中譯應為:交談式的命令環境),注意此時shell對應的目錄是在C:\GNUstep\home\Administrator\(因為我是使用 Administrator登入Windows時安裝的,如果是用別的使用者帳號登入後安裝,應該是別的名稱的目錄C:\GNUstep\home \<username>)
objc1-2

3.執行第一個程式和使用Makefiles

以下是我們要用的第一支Objective-C程式的程式碼,把它貼到 Notepad++或Ultra-Edit上,然後儲存到上面2.中的shell根目錄中,檔名為hello.m

hello.m
1
2
3
4
5
6
7
8
9
10
#import <Foundation/Foundation.h>
 
int main (int argc, const char * argv[])
{
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 
        NSLog (@"hello world");
        [pool drain];
        return 0;
}


接下來你可以在shell中輸入以下的指令來compile(編譯)它,但輸入這麼多的確十分麻煩

1
gcc `gnustep-config --objc-flags` -L /GNUstep/System/Library/Libraries 
hello.m -o hello -lgnustep-base -lobjc


所以最好是用下面這種方式,使用Makefiles這個套件來協助編譯,將以下的程式碼貼到Notepad++或Ultra-Edit上,然後儲存到上面2.中的shell根目錄中,檔名為GNUmakefile(注意:沒有副檔名)

GNUmakefile
1
2
3
4
5
6
include $(GNUSTEP_MAKEFILES)/common.make
 
TOOL_NAME = LogTest
LogTest_OBJC_FILES = hello.m
 
include $(GNUSTEP_MAKEFILES)/tool.make


然後在shell中輸入「make」就可以看到以下的畫面,沒有出現錯誤就是編譯完成了,在hello.m的目錄下會出現一個新增的obj目錄,裡面會有一個LogTest.exe。

再輸入「 ./obj/LogTest」(注意:指令最前面有一個點)就可以看到以下的執行結果。
objc1-3

當然make是很聰明的指令,每次你如果有更改原始碼,再執行make後,它會重新再編譯一個新的執行檔出來。如果你要強制清除編譯的結果,可以執行「 make clean

最後的說明:
上面的GNUmakefile這個檔案中的第3和4行的LogTest,和編譯出來的執行檔名有關,如果你要更改編譯出的檔案名稱,記得這兩行都要一起更改才行。更多的Makefiles用法可以參考下面的參考資料。

參考資料:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值