目標(biāo)C編程在線教程
這是有關(guān)Target-C編程的一系列教程的一部分.It'不是關(guān)于iOS開發(fā),盡管這將隨著時(shí)間的推移而來。但是,最初,這些教程將教授Objective-C語言。你可以使用它們來運(yùn)行它們ideone.com.
最后,我們'希望比這更進(jìn)一步,在Windows上編譯和測(cè)試Objective-C,我'm看著GNUStep或在Macx上使用Xcode。
- 想學(xué)習(xí)C編程?嘗試我們的免費(fèi)C編程教程
在我們學(xué)會(huì)為iPhone編寫代碼之前,我們真的需要學(xué)習(xí)Objective-C語言。雖然我之前編寫了一個(gè)為iPhone開發(fā)的教程,但我意識(shí)到該語言可能是一個(gè)絆腳石。
此外,自iOS 5以來,內(nèi)存管理和編譯器技術(shù)發(fā)生了巨大變化,因此這是一次重啟。
對(duì)于C或C++開發(fā)人員來說,Objective-C的消息發(fā)送語法[likethis]看起來很奇怪,因此,在語言的一些教程中的基礎(chǔ)將使我們朝著正確的方向前進(jìn)。
什么是目標(biāo)C?
30多年前開發(fā)的Objective-C與C向后兼容,但集成了編程語言Smalltalk的元素。
1988年,Steve Jobs在NeXT成立并獲得了Objective-C許可.NeXT于1996年被Apple收購,用于構(gòu)建Mac OS X操作系統(tǒng),最終在iPhone和iPad上構(gòu)建iOS。
Objective-C是C之上的薄層,保持向后兼容性,使Objective-C編譯器可以編譯C程序。
在Windows上安裝GNUStep
這些說明來自這個(gè)StackOverflow帖子。他們解釋了如何安裝GNUStep for Windows。
GNUStep是MinGW衍生物,可讓您在許多平臺(tái)上安裝免費(fèi)和開放版本的可可API和工具。這些說明是f或Windows,讓你編譯目標(biāo)C程序并在Windows下運(yùn)行它們。
從Windows安裝程序頁面,轉(zhuǎn)到FTP站點(diǎn)或HTTP Access,并下載MSYS系統(tǒng),Core和Devel的三個(gè)GNUStep安裝程序的最新版本。我下載了gnustep-msys-system-0.30.0-setup.exe,gnustep-core-0.31.0-setup.exe和gnustep-devel-1.4.0-setup.exe。然后我按順序安裝它們,系統(tǒng),核心和開發(fā)。
安裝了這些,我通過單擊開始運(yùn)行命令行,然后單擊運(yùn)行并鍵入cmd并按下輸入。鍵入gcc-v,您應(yīng)該看到幾行關(guān)于以gcc版本4.6.1(gcc)或類似版本結(jié)尾的編譯器的文本。
如果你沒有't,即它說找不到文件,那么你可能已經(jīng)安裝了另一個(gè)gcc,需要更正路徑。在cmd行輸入set,然后看到很多環(huán)境變量。尋找路徑=和應(yīng)該以下列結(jié)尾的許多文本行;C:\ GNUstep \ bin;C:\ GNUstep \ GNUstep \ System \ Tools。
如果它沒有't,則打開Windows控制面板查找系統(tǒng),打開窗口時(shí),單擊**系統(tǒng)設(shè)置,然后單擊環(huán)境變量。向下滾動(dòng)“**”選項(xiàng)卡上的“系統(tǒng)變量”列表,直到找到路徑為止。單擊“編輯”并在變量值上選擇“全部”,然后將其粘貼到Wordpad中。
現(xiàn)在編輯路徑,以便添加bin文件夾路徑,然后選擇全部并將其粘貼回變量值,然后關(guān)閉所有窗口。按ok,打開一條新的cmd線,現(xiàn)在gcc-v應(yīng)該起作用。
Mac用戶
您應(yīng)該注冊(cè)免費(fèi)的Apple開發(fā)程序,然后下載Xcode。在那里'有點(diǎn)在其中設(shè)置一個(gè)項(xiàng)目,但一旦它'完成(I'將在單獨(dú)的教程中介紹),您將能夠編譯和運(yùn)行目標(biāo)C代碼?,F(xiàn)在Ideone.com網(wǎng)站提供了最簡(jiǎn)單的方法。
什么與目標(biāo)C不同?
關(guān)于您可以運(yùn)行的最短程序是:
#import
int main(int argc,const char*ar**[])
{
NSLog(@"Hello World");
返回(0);
}
你可以運(yùn)行這個(gè)Ideone.com. 輸出是(毫不奇怪)Hello World,盡管它將被發(fā)送到stderr,就像NSLOG所做的那樣。
Some Points
- ##import是目標(biāo)-C等價(jià)于#包含在C。
- 而不是零終止的C字符串,I've使用目標(biāo)-C's字符串。這些總是以@"中的@as開頭;字符串的示例"
- 主函數(shù)沒有什么不同。
在下一個(gè)Objective-C教程中,我將查看Objective-C中的對(duì)象和OOP。
- 如何在C 中行事