Windows在結構objective C開發環境

2021-09-07 01:25:35 字數 1900 閱讀 5982

對於近期打算iphone、ipod touch和ipad開發一些應用程式,所以。需要開始學習objective c(蘋果推出的類似c語言的開發語言)。因為蘋果的自我封閉的產業鏈發展模式(從晶元、機器、開發語言、終端產品、服務)的限制,要想開發針對蘋果 iphone等產品的應用程式,就須要用mac機器,在xcode的ide上使用objective c語言開發。

mac機器就不用說了。那比pc機器要貴不少(當然價效比還是非常高的),所以,要想便宜方式學習objective c就必須要在windows上能搭建乙個objective c開發環境。好了。不說廢話了。

至於gnustep是什麼東西,有什麼用處,這裡做個簡單的介紹:gnustep就是提供類似cocoa(蘋果os的開發框架)的api和工具,眼下支援gnu/linux and gnu/hurd, solaris, netbsd, openbsd, freebsd, darwin和windows,免費使用的。

這個專案使objective c能在多數流行平台上開發和執行。

在「開始」選單中「全部程式」下能夠找到「gnustep」 -> 「shell」,就會出console窗體,能夠試試一些linux命令(ls,cd,mkdir等)。

編寫乙個objective c**進行編譯執行測試。在這裡就用經典的「hello world」來說明:

#import int main (int argc, const char *argv)
在windows環境下用文字編輯器(editplus,ue等),編寫上述**,而且儲存到gnustep安裝資料夾下的/home下,取名為helloworld.m。在gnustep的console窗體命令列下。

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。  

改進:因為在gnustep的窗體下不能複製,貼上,手動打字easy出錯,所以,能夠寫個shell指令碼。取名為test.sh,內容例如以下:

gcc -o "$1" "$2" -i/gnustep/system/library/headers -fconstant-string-class=nsconstantstring -l/gnustep/system/library/libraries -lobjc -lgnustep-base

然後和上面的一樣,在gnustep的console窗體命令列下  

1、cd /home

2、sh test.sh  helloworld  helloworld.m

3、執行helloworld.exe

說明:test.sh中的$1 和 $2分別表示獲取執行test.sh時傳進來的第1個和第2個引數。然後通過sh test.sh  helloworld helloworld.m就是執行test.sh指令碼並傳入兩個引數,採用傳引數的目的是讓這個test.sh成為乙個編譯的模板,這樣每次僅僅要傳不同的引數就能夠編譯執行。

helloworld.exe編譯並執行成功的話,說明windows下objective c建立乙個良好的發展環境,這可以通過學習,廉價的方式啟動objective c

gogoprotobuf在windows上遇見的坑

接下來你要編譯gogo的protoc gen go檔案,進入github.com gogo protobuf protoc gen gogofast和github.com gogo protobuf protoc gen gogo 這裡我就選用了這2個 使用go build命令生成可執行檔案。並將生...

tensorflow在windows環境下的安裝

2.開啟電腦的vt 虛擬化技術 3.然後安裝docker 參考以下兩個教程 安裝完docker之後,發現tensorflow裝不上,所以現在又要先把docker學習一下。所以我離目標越來越遠了。我的歷程 1 要做建築物識別,先做深度學習,matlab不能滿足需求,選擇現下最火的tensorflow ...

在Windows下Hunchentoot的啟動

hunchentoot是個什麼東東呢?它是乙個common lisp web server。看完 黑客與畫家 後,受它影響就嘗試了解一下lisp,因為是在windows下進行,所以弄個環境並不是很方便。1 allegro common lisp 8.2 free express edition,簡稱...