02 2014 档案

一步一步写算法(之内存)(转)
摘要:内存是程序运行的基础。所有正在运行的代码都保存在内存里面。内存需要处理各种各样的数据,包括键盘的数据、鼠标的数据、usb的数据、串口的数据、摄像头的数据,那么这些数据经过程序的处理之后,就要进行输出到串口、屏幕、usb等。 内存只有一个,但是程序里面的空间有很多种。但是内存中的数据类型只有几种,... 阅读全文

posted @ 2014-02-28 11:04 仅此而已_ 阅读(149) 评论(0) 推荐(0)

一步一步写算法(之递归和堆栈)(转)
摘要:看过我前面博客的朋友都清楚,函数调用主要依靠ebp和esp的堆栈互动来实现的。那么递归呢,最主要的特色就是函数自己调用自己。如果一个函数调用的是自己本身,那么这个函数就是递归函数。 我们可以看一下普通函数的调用怎么样的。试想如果函数A调用了函数B,函数B又调用了函数C,那么在堆栈中的数据是怎么保存的呢?函数A^函数B|(地址递减)函数C| 如果是递归函数呢,举一个简单的递归函数为例:intiterate(intvalue){if(value==1)return1;returnvalue+iterate(value-1);} 下面我们使用一个函数进行调用,看看会发生什么情况?voidproce. 阅读全文

posted @ 2014-02-28 10:57 仅此而已_ 阅读(437) 评论(0) 推荐(0)

一步一步写算法(开篇)(转)
摘要:算法是计算机的生命。没有算法,就没有软件,计算机也就成了一个冰冷的机器,没有什么实用价值。很多人认为,算法是数学的内容,学起来特别麻烦。我们不能认为这种观点是错误的。但是我们也知道,软件是一种复合的技术,如果一个人只知道算法,但是不能用编程语言很好地实现,那么再优秀的算法也不能发挥作用。一个人只有有了很好的计算机知识和数学知识,才能在算法的学习上不断进步。不管算法都么简单,都要自己亲手实践,只有不断认识错误、不断发现错误,才能不断提高自己的编程能力,不断提高自己的业务水平。 这里取名一步一步写算法的目的主要有两个:第一,保证我们的算法都是大家可以学得会,看的懂的;第二,保证我们的算法是健壮.. 阅读全文

posted @ 2014-02-28 10:41 仅此而已_ 阅读(204) 评论(0) 推荐(0)

一步一步写算法(之循环和递归)(转)
摘要:其实编程的朋友知道,不管学什么语言,循环和递归是两个必须学习的内容。当然,如果循环还好理解一点,那么递归却没有那么简单。我们曾经对递归讳莫如深,但是我想告诉大家的是,递归其实没有那么可怕。所谓的递归就是函数自己调用自己而已,循环本质上也是一种递归。1)求和递归函数 我们可以举一个循环的例子,前面我们说过,如果编写一个1到n的求和函数怎么写呢,你可能会这么写:intcalculate(intm){intcount=0;if(mdata);pNode=pNode->next;}} 那么此时如果改成递归,那就更简单了:voidprint(constNODE*pNode){if(NULL==pN 阅读全文

posted @ 2014-02-28 10:25 仅此而已_ 阅读(242) 评论(0) 推荐(0)

IOS后台运行 之 后台播放音乐
摘要:iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了。如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据app的功能需要,可能需要实现几个关键的功能。首先,播放音频之前先要设置AVAudioSession模式,通常只用来播放的App可以设为AVAudioSessionCategoryPlayback即可。模式意义及其他模式请参考文档。1 //后台播放音频设置2 AVAudioSession *session = [AVAudioSession sh 阅读全文

posted @ 2014-02-26 15:16 仅此而已_ 阅读(11164) 评论(0) 推荐(0)

IOS后台运行 之 Background Fetch
摘要:本文主要教你如何使用iOS 7 SDK多任务处理API--Background Fetch。我们生活在一个社交化的世界中,大部分用户都安装了几个社交类app,但是每次用户打开app,他们必须要等待app加载更新才能看到跟更多最新的内容,对于越来越没耐心的用户来说这一点无疑令人非常痛苦。现在,iOS ... 阅读全文

posted @ 2014-02-24 17:00 仅此而已_ 阅读(3117) 评论(0) 推荐(1)

do...while(0)的妙用
摘要:在C++中,有三种类型的循环语句:for,while,和do...while,但是在一般应用中作循环时,我们可能用for和while要多一些,do...while相对不受重视。但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1.do...while(0)消除goto语句。通常,如果在一个函数中开始要分配一些资源,然后在中途执行过程中如果遇到错误则退出函数,当然,退出前先释放资源,我们的代码可能是这样:version1bool Execute(){ // 分配资源 int *p = new int; ... 阅读全文

posted @ 2014-02-13 18:31 仅此而已_ 阅读(170) 评论(0) 推荐(0)

宏定义的使用
摘要:宏定义的使用关键字"#define",是C语言中提供的命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率。1.定义宏定义#define 2.简单的宏定义:#definePI3.1415926#defineaString@"String"#defineaFloat1.23456f在使用所需内容的时候只需使用相应的定义即可,但是注意宏定义只是把后面的内容以前面的形式表现出来,如果加上运算符号不要混淆:#defineresult3+2*2intsum=6*result,此处的结果为22,而不是43,把其展开为:intsum= 阅读全文

posted @ 2014-02-13 18:15 仅此而已_ 阅读(632) 评论(0) 推荐(0)

IOS截屏
摘要:IOS好多地方可能用到截屏的,比如保存当前页面到相册、完成某种动画,一般截屏的代码:static UIImage * screenShot(UIView *view){ CGSize imageSize = view.frame.size; if (NULL != UIGraphicsBeginImageContextWithOptions) { UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0); } else { UIGraphicsBeginImageContext(i... 阅读全文

posted @ 2014-02-13 18:14 仅此而已_ 阅读(1346) 评论(0) 推荐(0)

关于设备唯一标识
摘要:什么是设备唯一标识?设备的唯一标识,当前设备的生成字符串,保证与其他设备相比唯一且不变,一版利用于产品的统计的访问次数或用户操作的统计.设备唯一标识的获取:在IOS5.0之前:使用UDID(UniqueDeviceIdentifier),是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成,生成方法:NSString *uuid = [[UIDevice currentDevice] uniqueIdentifier]IOS5.0之后,苹果不建议开发者使用UDID,并且获取设备UDID的方法已经被苹果的SDK中标识为弃用,又有人爆出苹果AppStore禁止访问UDID的应用上架,许多 阅读全文

posted @ 2014-02-13 18:12 仅此而已_ 阅读(1847) 评论(0) 推荐(0)

UITableView 介绍
摘要:在UITableview的简介:1.继承与UIScrollView2.展示数据和操作由代理的方式回传3.自定义cell进行展示UITableview的重用:1.UITableView通过重用单元格来达到节省内存的目的:通过为每个单元格指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,以及当单元格滚出屏幕时,允许恢复单元格以便重用.对于不同种类的单元格使用不同的ID,对于简单的表格,一个标识符就够了.-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath 阅读全文

posted @ 2014-02-13 18:09 仅此而已_ 阅读(398) 评论(0) 推荐(0)

导航