IOS编程:嵌进式体系软件及编程言语仓酷云
很简单OBJCAVFoundation---播放视频相关的库最近正在学习这些算是学iOS开发的一些方法1、弁言:跟着盘算机手艺和微电子手艺的敏捷开展,嵌进式体系使用范畴愈来愈普遍。现今,嵌进式体系已成为一个时兴的名词,就像现在的盘算机高潮,仿佛比现在的盘算机高潮触及的范畴更普遍,使用手艺职员更多,相干公民经济产值也更复杂。报纸、杂志、收集都把嵌进式体系看成会商的抢手话题。
嵌进式体系一样平常指非PC体系,有盘算机功效但又不称之为盘算机的设备或工具。它是以使用为中央,软硬件可扩充的,顺应使用体系对功效、牢靠性、本钱、体积、功耗等综合性严厉请求的公用盘算机体系。
嵌进式体系次要由嵌进式微处置器、核心硬件设备、嵌进式操纵体系和用户的使用程序等4个部分构成,它是集软硬件于一体的可自力事情的"器件"。
嵌进式体系的软件部分包含操纵体系软件(请求及时和多义务操纵)和使用程序编程。操纵体系把持着使用程序编程与硬件的交互感化,而使用程序把持着体系的运作和举动。
2、嵌进式体系软件:
(1)嵌进式操纵体系:
嵌进式操纵体系是一种撑持嵌进式体系使用的操纵体系软件,它是嵌进式体系(包含硬、软件体系)极其主要的构成部分,一般包含与硬件相干的底层驱动软件、体系内核、设备驱动接口、通讯协定、图形界面、尺度化扫瞄器等Browser。
嵌进式操纵体系具有通用操纵体系的基础特性,如可以无效办理愈来愈庞大的体系资本;可以把硬件假造化,使得开辟职员从忙碌的驱动程序移植和保护中摆脱出来;可以供应库函数、驱动程序、工具集和使用程序。与通用操纵体系比拟较,嵌进式操纵体系在体系及时高效性、硬件的相干依附性、软件固态化和使用的公用性等方面具有较为凸起的特性。
(2)嵌进式操纵体系的开展情况:
外洋嵌进式操纵体系已从复杂走向成熟,次要有Vxwork、QNX、PalmOS、WindowsCE、嵌进式Linux等。
国际的嵌进式操纵体系研讨开辟有2品种型,一类是基于外洋操纵体系2次开辟完成的,如海信的基于WindowsCE的机顶盒体系;另外一类是中国自立开辟的嵌进式操纵体系,如凯思团体公司自立研制开辟的嵌进式操纵体系HopenOS(“女娲企图”)等。
WindowsCE内核较小,能作为一种嵌进式操纵体系使用到产业把持等范畴。其长处在于便携性、供应对微处置器的选择和非强行的电源办理功效。内置的尺度通讯才能使WindowsCE可以会见Internet并收发E-mail或扫瞄Web。除此以外,WindowsCE独有的与Windows相似的用户界面使终极用户易于利用。
WindowsCE的弱点是速率慢、效力低、代价偏高、开辟使用程序绝对较难。
3Com公司的PalmOS在掌上电脑和PDA市场上独有其霸主位置,它有开放的操纵体系使用程序接口(API),开辟商可依据必要自行开辟所需的使用程序。
QNX是由加拿年夜QSSL公司开辟的散布式及时操纵体系,它由微内核和一组共操纵的历程构成,具有高度的伸缩性,可天真地剪裁,最小设置只占用几十KB内存。因而,能够普遍地嵌进到智能呆板、智能仪器仪表、机顶盒、通信设备、PDA等使用中往。
HopenOS是凯思团体自立研制开辟的嵌进式操纵体系,由一个别积很小的内核及一些能够依据必要举行定制的体系模块构成。其中心HopenKernel通常是10KB摆布巨细,占用空间小,并具有及时、多义务、多线程的体系特性。
在浩瀚的及时操纵体系和嵌进式操纵体系产物中,WindRiver公司的VxWorks是较为有特征的一种及时操纵体系。VxWorks撑持各类产业尺度,包含POSIX、ANSIC和TCP/IP收集协定。VxWorks运转体系的中心是一个高效力的微内核,该微内核撑持各类及时功效,包含疾速多义务处置、中止撑持、抢占式和轮转式调剂。今朝在全球装有VxWorks体系的智能设备数以百万计,其使用局限广泛互联网、电信和数据通讯等浩瀚范畴。
而作为一种嵌进式操纵体系,嵌进式Linux以其出格和有目共睹的上风正极年夜地吸引电子计划工程师从本人编写的或公用的RTOS转移到Linux。据VDCData的数据显现,全部Linux的增加从2000年的1%到2003年的14%,再到2010年猛增到67%。EvenData数据显现,在嵌进式市场,嵌进式Linux从2001年11%增到2002年27%,而同期Vxwork只是从16%到18%,WINCE从9%到14%。在嵌进式Linux的各类使用市场中,语音和数据通讯名列第一,2000年的发卖额是1300万美圆,而估计2005年到达1.26亿美圆(VDCData数据),能够说嵌进式Linux将成为支流的通用嵌进式操纵体系。
(3)嵌进式Linux操纵体系:
选择操纵体系时,要依据本人的嵌进式请求和及时性请求,选择合适本人的嵌进式Linux,假如大概,只管选择利用广泛的嵌进式Linux体系。归纳综合说来,将Linux使用于嵌进式体系的开辟有以下一些长处:
1)Linux本身具有一整套工具链,简单自行创建嵌进式体系的开辟情况和交织运转情况,而且能够超过在嵌进式体系开辟中仿真工具(ICE)的停滞。
2)内核的完整开放,使得能够本人计划和开辟出真实的硬及时体系;关于软及时体系,在Linux中也简单失掉完成。
3)壮大的收集撑持,使得能够使用Linux的收集协定栈将其开辟成为嵌进式的TCP/IP收集协定栈。
在嵌进式体系中利用Linux有2种路子:
1)是用户本人拆卸(称为DIY内核),能够在www.ckuyun.com和GNU的网站找到全体Linux代码,然后再编译天生你必要版本的工具链和使用程序库,这个历程对照耗时和坚苦。还必要指出,这类DIY内核的设置,增加使用和驱动程序也是不尺度的和庞大的,这是嵌进式体系的特别性地点,好比说,有的使用是收集上的小型互连设备,它必要多个以太网、USB主机、小型的NORFlash文件体系,而一个手持终端,它体贴的是LCD的触屏、红外或蓝牙的接口、USB用户端、疾速的启动,静态的电源办理和NADAFLASH,如许就必要在数十家Linux相干网站下载各类补钉、使用和工具,把它们和内核举行重复的编译和调试,确信它们之间和它们在硬件评价板上是不乱牢靠事情的,这个历程是在没有任何手艺撑持下完成的。
2)选择一个贸易的嵌进式Linux操纵体系平台。贸易化的嵌进式Linux版本是针对嵌进式处置器所优化计划的,已撑持了各类半导体厂家的评价板和次要的设备驱动,贸易化的嵌进式Linux包括了文件体系、使用、及时性扩大和手艺撑持培训服务。
当今外洋出名的贸易化嵌进式Linux产物有:MontaVistaLinux,BluecatLinux,TimesysLinux,MetroworkLinux(原Lineo),Vlinux(韩国)和RedhatLinux等,国际也有红旗、中软等嵌进式Linux。
(4)嵌进式Windows操纵体系:
微软公司从1996年入手下手以其WindowsCE1.0版本涉足小型嵌进式体系。WindowsCE1.0是一种重新做起的代码库,面向具有图形界面的手持设备,在表面和感到上像Windows95。一样,台式Windows的组件化版本于1999年面世,其一个工具组和约莫250个组件均来自WindowsNT。
就嵌进式操纵体系而言,Windows是一种很有吸引力的选择,由于它有人人熟习的API,能够找到纯熟的程序员和便宜的部件,并且还能够使用台式PC很多壮大的功效。微软公司最新嵌进式产物,即WindowsXP嵌进式操纵体系和WindowsCE.Net操纵体系,都为开辟职员带来了新的特征和功效。
微软公司的WindowsXP嵌进式操纵体系与其台式XP操纵体系专业版一样都基于不异的二进制代码,并且XP嵌进式操纵体系是WindowsNT4.0嵌进式操纵体系的后继版本。嵌进式版本包含含有台式版本一切的平安功效、多媒体功效、Web扫瞄功效、电源办理功效和设备撑持功效,只是将台式版天职解为10000多个组件,以是开辟职员能够选择某些单位来构建一个定制的占用内存容量小的操纵体系。WindowsXP嵌进式操纵体系及最新的服务包都有良多新的通讯选购件、文件体系选购件和开辟工具选购件,这些选购件可以使计划小组在今后的项目当选用这一操纵体系。
WindowsCE.NET创建在分歧于台式操纵体系的系统布局上。其计划方针包含普遍的无线毗连性、及时功效和与设备有关的Web服务。与WindowsXPEmbedded分歧,WindowsCE.NET撑持ARM、MIPS、SHx和x86等系列处置器,从而使其合用于林林总总嵌进式产物。WindowsCE.NET包括了.NETCompactFramework,这是微软公司的智能设备开辟平台,可在任什么时候候、任何地址和在任何设备上为消耗者供应Web服务。为撑持NETCompactFramework,WindowsCE.NET包含一套集成的端到端工具和几种定制开辟言语,如VisualBasic.NET、VisualC++.NET和VisualC#.NET。
3、嵌进式体系初级编程言语:
今朝,在嵌进式体系开辟过程当中利用的言语品种良多,但唯一多数几种言语失掉了对照普遍的使用,次要为Ada、C/C++、Modula-2等几种。
Ada言语是20世纪70年月美国国防部开辟并投进利用的功效壮大的通用体系开辟言语,最后为Ada83。它撑持模块化、自力编译、协处置等功效,其牢靠性、可保护性、可读性都是相称好的。厥后,为了更好地撑持OOP(Object-OrientedProgramming),对其举行了改善,构成了今朝普遍利用的Ada95。利用Ada言语能够年夜年夜改良体系的明晰性、牢靠性、可保护性等功能目标。它是美国国防部指定的独一一种可用于军用体系开辟的言语。
C言语是由DennisRichie于1972年在AT&Bell实行室研讨乐成并投进利用的体系编程言语,其计划方针是使C既具有汇编言语的效力,又具有初级言语的易编程性,其最具代表性的使用是UNIX操纵体系。从20世纪80年月中期C言语涉足及时体系后,遭到了广泛接待。今朝是利用最普遍的嵌进式体系编程言语。C++是由BjarneStroustrup于1995年在Bell实行室研制乐成并投进利用的。C++在撑持古代软件工程、OOP、布局化等方面临C举行了行之有效的改善,但在程序代码容量、实行速率、程序庞大水平等方面比C言语程序功能差一些。
Modula-2是由NicklansWirth在70年月前期依据Pascal和Modula开辟的体系计划言语,其次要方针是在模块化、体系编程、协同处置等方面临Pascal举行改善。Modula-2具有很强的范例反省才能和丰厚的初级功效撑持。因而,可用它计划一个完全的及时程序而不必汇编言语的撑持。Modula-3是1988年由DEC(DigitalEquipmentCompany)和ORC(OlivettiResearchCenter)依据Modula-2开辟研制并投进利用的体系开辟言语。方针是计划一个功效壮大但布局复杂的通用编程言语,它在协同处置、OOP、主动渣滓搜集和对C言语和UNIX的撑持等方面临Modula-2举行了改善。
4、停止语:
信息时期、数字时期使得嵌进式产物取得了伟大的开展时机,也为嵌进式市场展示了优美的远景,同时也对嵌进式体系的开辟者提出了新的应战。
由于封闭文档写的相当好在遇到新框架的时候弄明白框架的功能去文档里搜搜框架的ProgrammingGuide很有用要弄明白框架类的继承结构写iOS的程序不一定都是用OBJC 其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。 在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。 中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者, 我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。 学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。 好处就是运行速度会变快,ios6针对系统的优化进一步加强了,很多网友测试ios6,第一感觉就是速度快,而且ios69会有一些新功能,新浪微博,facetime支持3G网等等。。弊端就是,现在的ios6只能算是正式版本的第一个版本,bug很多,不少人刷完ios6都出现了很多毛病,开不开机,缺少图标等等。。最好现在不要升级,等官网放出下一个版本的时候,再选择升级。。。 培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦, iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。 其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。 每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。 培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦, iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。 重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。 iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。 特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地 同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
页:
[1]