【轉】Windows下搭建object-c

Windows下搭建object-c

272人閱讀 評論(0) 收藏 舉報

近打算針對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 SystemGNUstep CoreGNUstep DevelCairo
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。:)

轉載于:https://www.cnblogs.com/Jessy/archive/2011/12/02/2272264.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377924.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377924.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377924.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java reader_Java Reader reset()方法與示例

java reader讀取器類的reset()方法 (Reader Class reset() method) reset() method is available in java.io package. reset()方法在java.io包中可用。 reset() method is used to reset this stream to the mark set by mark() method most recently. reset()方法用于將此流重…

leetcode 501. 二叉搜索樹中的眾數 思考分析

目錄題目1、不考慮BTS性質,直接尋找眾數集合(利用map)2、考慮BTS的中序遍歷結果性質題目 給定一個有相同值的二叉搜索樹(BST),找出 BST 中的所有眾數(出現頻率最高的元素)。 假定 BS…

二、模型評估方法

IDE為Jupyter Notebook scikit-learn官網 scikit-learn是一個專門用于機器學習的工具包 運用到啥函數不知道咋使用?戳它–>scikit-learn工具包的API文檔 不知道用啥模板?戳它–>scikit-learn樣例模型 功能翻譯Classification分類Regression回歸Cl…

union

關鍵字 1. 共用體聲明和共用體變量定義共用體(參考“共用體”百科詞條)是一種特殊形式的變量,使用關鍵字union來定義共用體(有些人也叫"聯合")聲明和共用體變量定義與結構體十分相似。其形式為:union 共用體名{數據類型 成員名;數據類型 成員名;...} 變量…

SEL

Object-C 中的Selector 概念 Andrew Huang <bluedrum163.com> 轉載請注明作者和聯絡方式 在iphone程序中會大量看到selector這樣的用法。<<iphone開發基礎>花了很大一個篇幅來解析這個語法&#xff0c;但是不知 是翻譯問題&#xff0c;還是解釋過細&#xff0c…

Java Calendar add()方法與示例

日歷類的add()方法 (Calendar Class add() method) add() method is available in java.util package. add()方法在java.util包中可用。 add() method is used to perform add or subtract the given amount of time to the given cal_fi (calendar field). add()方法用于對指定…

三、線性回歸實驗分析

所有代碼塊都是在Jupyter Notebook下進行調試運行&#xff0c;前后之間都相互關聯。 文中所有代碼塊所涉及到的函數里面的詳細參數均可通過scikit-learn官網API文檔進行查閱&#xff0c;這里我只寫下每行代碼所實現的功能&#xff0c;參數的調整讀者可以多進行試驗調試。多動手…

leetcode 236. 二叉樹的最近公共祖先 思考分析

目錄題目思考分析改進本文章代碼思路來源于公眾號【代碼隨想錄】題目 給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義為&#xff1a;“對于有根樹 T 的兩個結點 p、q&#xff0c;最近公共祖先表示為一個結點 x&#xff0c;滿足 x 是 p、…

輕輕松松給PCB板添加LOGO

在 PCB 圖中放置漢字或圖形的方法&#xff1a;A、文字——> 圖片——> PCB 圖——> 復制到自己作品中B、圖片——> PCB 圖——> 復制到自己作品中1、首先準備好“BMP”格式的圖片&#xff0c;在圖片中依靠顏色分辨圖層&#xff0c;所以最好準備“單色黑白”圖。…

java bitset_Java BitSet clone()方法及示例

java bitsetBitSet類clone()方法 (BitSet Class clone() method) clone() method is available in java.util package. clone()方法在java.util包中可用。 clone() method is used to clone this Bitset or in other words, this method is used to create a Bitset that is si…

小技巧

//屏蔽下拉框的某一個選項 <disabled"disable">... 1 <html>2 <body>3 4 <select>5 <option>Volvo</option>6 <option>Saab</option>7 <option disabled"disabled">Mercedes</option>…

jquery中text val html attr的差別

html和innerHTMl是一樣的&#xff0c;可以獲得和設置html標簽文本如&#xff1a;設置值&#xff1a;$("p").html("<span stylefont-size:13px;color:red>HTML標簽文本</span>"); 獲得值&#xff1a;$("p").html(); text和innerText是…

leetcode 235. 二叉搜索樹的最近公共祖先 思考分析

目錄題目思考迭代法題目 給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義為&#xff1a;“對于有根樹 T 的兩個結點 p、q&#xff0c;最近公共祖先表示為一個結點 x&#xff0c;滿足 x 是 p、q 的祖先且 x 的深度盡可能大&#xff0…

四、邏輯回歸

邏輯回歸logistic_regression(LR)其實是分類算法&#xff0c;而不是回歸算法。 回歸算法得到的是一個數&#xff0c;分類算法得到的是幾個不同的類別。 邏輯回歸就是通過函數將值轉換為0-1之間&#xff0c;形成概率問題&#xff0c;從而實現了不同類別的分類。 Sigmoid 函數 …

db,dbms,dba_DBMS中的數據庫管理員(DBA)

db,dbms,dba數據庫管理員(DBA) (Database Administrator (DBA)) To use the Database Management System, it is necessary to have central control over data and programs together in order to access such data. A person who has central control over such system is re…

運算符優先級

轉載于:https://www.cnblogs.com/c-cloud/p/3280911.html

五、邏輯回歸實驗分析

所有代碼塊都是在Jupyter Notebook下進行調試運行&#xff0c;前后之間都相互關聯。 文中所有代碼塊所涉及到的函數里面的詳細參數均可通過scikit-learn官網API文檔進行查閱&#xff0c;這里我只寫下每行代碼所實現的功能&#xff0c;參數的調整讀者可以多進行試驗調試。多動手…

二叉搜索樹的插入、刪除、修剪、構造操作(leetcode701、450、669、108)

目錄1、leetcode 701. 二叉搜索樹中的插入操作1、題目2、遞歸法3、迭代法2、leetcode 450. 二叉搜索樹中的插入操作1、題目2、思路遞歸法3、迭代法4、刪除結點的兩個方法以及注意點3、leetcode 669. 修剪二叉搜索樹1、題目2、思考與遞歸3、迭代法4、leetcode 108. 將有序數組轉…

Memcached查看和清理

1.一種telnet localhost 11211 #登陸stats #查看狀態flush_all #清理quit #退出2.又學到一個:echo flush_all | nc localhost 112113.1、數據存儲(假設key為test,value為12345) printf "set test 0 1 5\r\n12345\r\n" | nc localhost 11211STORED2.數據取回(假設key為…

模擬退火算法解決np_P和NP問題與解決方案| 演算法

模擬退火算法解決npP問題 (P Problems) P is the set of all the decision problems solvable by deterministic algorithms in polynomial time. P是多項式時間內確定性算法可解決的所有決策問題的集合。 NP問題 (NP Problems) NP is the set of all the decision problems t…