2012年9月12日

摘要: 在assert语句中,要注意assert语句仅仅在debug版本才有效,而在release版本中无效。如果在debug版本中assert没有捕捉到非法情况,那么表明在release版本的对应处程序也是合法的。所以不必在检查合法性。但是合法的程序并不见得就是正确的程序。使用断言的目的就是捕捉在运行时不应该发生的非法情况,不要混淆非法情况与错误情况之间的区别,后者是程序运行过程中自然存在的并且是一定要主动做出处理的。举个常见的例子来解释,用malloc申请动态内存时,如果系统没有足够的内存可用,那么malloc返回NULL。动态内存申请失败不是非法情况,而是错误情况。所以我们要用if语句捕捉错误情 阅读全文
posted @ 2012-09-12 14:48 yetta2011 阅读(186) 评论(0) 推荐(0)

2012年8月27日

摘要: Ophone平台可以通过资源文件、文件系统和网络三种方式来播放多媒体文件。无论使用哪种播放方式,基本的流程都是类似的。当然也存在一些细小的差别,比如,直接调用MediaPlayer.create()方法创建的MediaPlayer对象已经设置了数据源,并且调用了prepare()方法。从网络播放媒体文件,在prepare阶段的处理与其他两种方式不同,为了避免阻塞用户,需要异步处理。但是,音乐播放还是遵循了下面的4步流程。Ø创建MediaPlayer对象;Ø调用setDataSource()设置数据源;Ø调用prepare()方法;Ø调用start开始播放 阅读全文
posted @ 2012-08-27 14:19 yetta2011 阅读(125) 评论(0) 推荐(0)
摘要: STL中vector、deque类和list、类slist的主要特征如下。一、vectorl内部数据结构:连续存储,例如数组。l随机访问每个元素,所需要的时间为常量。l在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。l可动态增加或减少元素,内存管理自动完成,但程序可以使用reserve()成员函数来管理内存。lVector的迭代器在内存重新分配时将失效,当把超过capacity()-size()个元素插入vector中时,内存会重新分配,所有的迭代器都将失效,否则,指向当前元素以后的任何元素的迭代器都将失效,当删除元素时,指向被删除元素以后的 阅读全文
posted @ 2012-08-27 14:07 yetta2011 阅读(117) 评论(0) 推荐(0)
摘要: NOR型Flash与NAND型Flash的区别如下:1.接口差别:NOR型flash采用的是SRAM接口,提供有足够都地址引脚来寻址,可以很容易地存取其片内都每一个字节;NAND型flash使用复杂都存储I/O口来串行地存储数据,各个产品或厂商的方法可能各不相同。通常是采用8个引脚来传送控制、地址和数据信息。2.读写都基本单位:NOR型flash操作是以字为基本单位;NAND型flash操作是以页面为基本单位,页的大小一般为512字节。3.性能比较:NOR型flash的地址线和数据线是分开都,传输效率很高,程序可以在芯片内执行;NOR型的读速度比NAND型稍快一些;NAND型的写入速度比NOR 阅读全文
posted @ 2012-08-27 14:06 yetta2011 阅读(190) 评论(0) 推荐(0)

2012年8月22日

摘要: 一般来说,虚成员函数可以满足对象的动态类型匹配的需要,一个定义良好的类层次结构应该为基类中声明的每个虚成员函数定义有意义的操作。然而事情并非总是这样美妙。假设有一个家电电器管理系统,可以管理电扇、电视机等。为了能够实现统一管理,我们设计一个抽象基类HomeElectricDevice来定义一些公共操作。Class HomeElectricDevice{ Public: Virtual void Open()=0; //打开 Virtual void close()=0; //关闭 Virtual void Adjust(bool updown)=0; //调节温度或者音量等。//other m 阅读全文
posted @ 2012-08-22 10:02 yetta2011 阅读(209) 评论(0) 推荐(0)
摘要: 传统的错误处理是用不同的数值来表示不同类型的错误,其表达能力很有限,因为一个数字包含的信息量太少,而C++异常处理机制将异常类型化,显然一个类型要比一个数字包含的信息量大得多。 比如我们常用的函数fopen(),当打开文件失败是返回NULL,按照传统的错误处理方法,在调用Fopen()后立即检查其返回值,如果为NULL就进行错误处理,如果将返回NULL改为抛出异常OpenFailed,那么我们就不用在调用fopen()后马上检查返回值,而是在调用函数内部或者更高层的调用者那里设置异常处理器来捕获这个异常,C++保证:如果一个异常在抛出点没有得到处理,那么它将一直抛向上层调用者,直至main() 阅读全文
posted @ 2012-08-22 10:01 yetta2011 阅读(221) 评论(0) 推荐(0)

2012年8月6日

摘要: Ubuntu社区将安装软件和常用的支持软件打包成CD和DVD的形式。用户可以下载相应的ISO文件刻录成盘,将所有的支持软件刻录为DVD盘的形式。需要安装时直接利用DVD盘进行安装,省去了到网上下载的麻烦。下面里仁教育嵌入式培训3G职业讲师讲解在Ubuntu如何使用CD,DVD作为软件源来安装软件。1:下载7.10的ISO从网上找到自己所需的镜像安装文件,这里的Ubuntu版本丰富,全面,本书下载的是Ubuntu7.10的DVD的镜像Ubuntu-7.10-dvd-i386.iso。2:验证ISO的正确性可以采用MD5的验证或者SHA验证,取决于下载网站提供的是哪些验证码,计算出的验证码如果跟提 阅读全文
posted @ 2012-08-06 09:49 yetta2011 阅读(209) 评论(0) 推荐(0)

2012年8月1日

摘要: 3G移动开发市场已经影响到全国的动荡,不得不说这是卓越而且极其美观的发展平台。下面详情介绍一下3款开发平台的市场行情及对比。WindowsPhone7众所周知,微软在笼络开发者有一套手法,首先它的学习资源和文档非常丰富。而且在我们国内文档有分中英文文档,入门基本不是问题。而且有WebCast这个视频教育平台,MVP们通过自己的实践经验己视频的方式传授给大家,胜任WP7开发基本没问题。IDE方面,这个不用我多说,有VisualStudio和ExpressionBlend这两大神器。如今iphone发展也极为迅速。IOS苹果向许多IOS开发人员提供了众多开发信息,包括多媒体式,甚至是有Iphone 阅读全文
posted @ 2012-08-01 16:03 yetta2011 阅读(134) 评论(0) 推荐(0)
摘要: Wiki是最具web2.0特征的互联网应用之一,但是它的历史则远远要早于web2.0概念的提出。事实上,第一个wiki站点产生于1995年,那时候中国真正意义上的第一代网民还没有诞生。Wiki的基本运作方式是通过任何人都能修改的网页集合用户的贡献,它通常通过一种简化的标记语言来生成HTML代码,按照滴一个wiki作者的说法,wiki的概念包含以下3个基本含义。üWiki的任何一个页面都允许并且鼓励任何用户进行编辑或产生新页面,访问这些页面只需要基本的浏览器,而不需要任何第三方插件。ü可以简单直观地生成页面之间的链接,通过这些链接赋予页面之间有意义的联系,并且可以显示链接目标 阅读全文
posted @ 2012-08-01 16:03 yetta2011 阅读(180) 评论(0) 推荐(0)

2012年7月31日

摘要: Windows系统下的文件系统格式有FAT16,FAT32和NTFS等,里仁教育本章中详细介绍linux系统下常用的文件系统:文件系统是用来管理和组织保存在磁盘驱动器上数据的系统软件,其实现了数据完整性的保证。也就是保证写入磁盘的数据和随和读出内容的一致性。除了保存以文件方式存储的数据以外,一个文件系统同样存储和管理着文件和文件系统自身一些重要信息。Linux下常用的文件系统有:ext2,ext3,reiserFS,XFS和JFS。1:ext2文件系统介绍 ext2文件系统早期的linux版本比较流行,随着linux的进一步发展,ext2文件系统所显示出的缺点越来越突出,当机器突然崩溃,在此开 阅读全文
posted @ 2012-07-31 11:09 yetta2011 阅读(457) 评论(0) 推荐(0)

导航