|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还有很多工具需要学iOS5的SDK已经支持ARC可以自动进行release但是对iOS4的支持还有一个小问题现在要开发应用可能还需要按照之前的MRC的方式allocreleaseretainautorelease之类的内存管理方法Objective-C近几年变得越来盛行,TIOBE天下编程言语排行榜中Objective-C的排名不休上升,同时也反响出Apple平台的开辟遭到愈来愈多的人存眷。Objective-C言语作为Apple天下的官方言语,不管是MAC开辟仍是iOS开辟,乃至体系层的编写它都可以胜任。交融了C和Smalltalk的面向对象特征,Objective-C变得复杂、高效(比起C++等面向对象言语)。一样平常情形下,要想玩玩Objective-C,能够购置一台MAC电脑+收费的Xcode,就具有了一整套Objective-C的开辟情况,就能够为你的iPhone、iPad、iTouch、Mac机编写使用了。Apple的工具,唱工精密的同时也代价不菲,难怪有人说:“单反毁三代,苹果毁平生”。本文要给人人保举一个开源的Objective-C开辟情况——GNUstep,今后今后你既能够在Linux平台上玩ObjC,也能够在Windows平台上玩ObjC了。
1.一点汗青
复杂来讲,GNUstep是利用OpenStep界面的开源(OpenSource)企图,目标为供应跨平台的面向对象的开辟情况。
早在1985年,SteveJobs分开苹果电脑(Apple)后建立了NeXT公司,并于1988年推出了NeXT电脑,利用NeXTStep为操纵体系。在事先,NeXTStep是相称先辈的体系。以Unix(BSD)为基本,利用PostScript供应高品德的图形界面,并以Objective-C言语供应完全的面向对象情况。
只管NeXT在软件上的优秀,其硬体发卖成就欠安,不久以后,NeXT便转型为软件公司。1994年,NeXT与Sun(SunMicrosystem)互助推出OpenStep界面,方针为跨平台的面向对象程式开辟情况。NeXT接着推出利用OpenStep界面的OPENSTEP体系,可在Mach,MicrosoftWindowsNT,SunSolaris及HP/UX上实行。1996年,苹果电脑买下NeXT,做为苹果电脑下一代操纵体系的基本。OPENSTEP体系便演进成为MacOSX的Cocoa情况。
在1995年,自在软体基金会(FreeSoftwareFundation)入手下手了GNUstep企图,目标在利用OpenStep界面,以供应Linux/BSD体系一个完全的程式开展情况。但因为OpenStep介面过于复杂,开辟人力不敷,及很多手艺在事先还没有成熟(如DisplayPostScript),以是直到今朝为止,GNUstep才算是一个完全的编程开辟情况。
只管OpenStep早在1994年便提出,其界面及架构在当今仍相称先辈及有用,使得开辟GNUstep程序相称简单。
2.简介
GNUstep利用Objective-C言语,是C言语加上SmallTalk的面向对象的功效。分离二者的长处,又不至于像C++庞大。
GNUstep供应两个次要的程序库,Foundation及AppKit。Foundation处置非图形介面的部分。如字串,档案,网路,基础材料布局,多行绪等,又称之为GNUstepBase。AppKit则处置图形介面的部分,包括视窗,利用者界面等,又称之为GNUstepGUI。
因为GNUstep具有跨平台的特征,有关画图及字型的部分,则交由GNUstepBack来处置。利用者可依所利用的操纵体系,选择得当的后端处置(Backend)。GNUstepGUI会自行处置与Back相干的功效,程式开辟者只需利用GUI程式库,即可合用于各类后端上,完整不必思索平台成绩。
3.Linux下安装GNUstep
在此仅先容一下Ubuntu上面的安装,别的安装办法,参考GNUStep官方文档:http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto_toc.html。
Step1:让gcc撑持objective-C的编译- $apt-getinstallgobjc$gcc-xobjective-chello.m-ohello
复制代码 hello.m任意写几个c函数,编译经由过程就OK了。比方:- intmain(intargc,constchar*argv[]){printf("HelloObjective-C!");return0;}
复制代码 Step2:安装GNUstep- $apt-getinstallgnustep$apt-getinstallgnustep-devel$apt-getinstalllibgnustep-base-dev
复制代码 Step3:设置GNUSTEP_MAKEFILES和实行GNUstep.sh,主动加载别的情况路径- $chmod+x/usr/share/GNUstep/Makefiles/GNUstep.sh$exportGNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles$source/usr/share/GNUstep/Makefiles/GNUstep.sh
复制代码 也能够把前面两条放在.bashrc或.bash_profile中,如许就不必每次上岸大概新开终端都敲一遍了。
Step4:编译一个复杂的hello程序,测试下看GNUstep安装的是不是OK
hello.m内容以下:- #import<Foundation/Foundation.h>
复制代码- intmain(intargc,constchar*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];NSLog(@"HelloGNUstep!!n");[poolrelease];return0;}
复制代码 编译一下:- $gcc-Wall-g-ohellohello.m-I/usr/include/GNUstep/-fconstant-string-class=NSConstantString-lobjc-lgnustep-base$./hello2012-08-1617:54:08.315hello[12915]HelloGNUstep!!
复制代码 编译没有堕落,运转hello看到”Hello….”,祝贺你!GNUstep安装乐成!
4.Windows下安装GNUstep
Windows下安装GNUstep是对照复杂了,间接在此下载安装包:http://www.gnustep.org/experience/Windows.html,内置了MSYS体系。间接从菜单“入手下手”->”一切程序”->“GNUstep”->“shell”,创立Objective-C文件hello.m(内容同上),用以下命令编译:- $gcc-ohellohello.m-I/GNUstep/System/Library/Headers-L/GNUstep/System/Library/Libraries/-fconstant-string-class=NSConstantString-lobjc-lgnustep-base
复制代码 5.参考材料:
- 官方主页:http://www.gnustep.org/
不管是学习Objective-C语言,还是学习ios,我都只是跟着书上的例子,在苹果机上,在Xcode和InterfaceBuilder开发环境中,按部就班的“抄”些应用程序。 |
|