摘要:
一、从源代码文件到可执行文件 从C文件到可执行文件,一般来说需要两步,先将每个C文件编译成.o文件,再把多个.o文件和链接库一起链接成可执行文件。但具体来说,其实是分为四步,下面以example.c为例进行说明。#define MYINT intshort addend1 = 1;static int addend2 = 2;const static long addend3 = 3;static MYINT g(MYINT x){ return x + addend1;}static const MYINT f(MYINT x){ return g(x + addend2)...
阅读全文
posted @ 2013-09-17 23:59
风言枫语
阅读(404)
推荐(0)
摘要:
看到字眼,你应该心里有个数了,所谓装饰,就是在原有的基础上加些东西化化装,有修睫毛的,有化口红的,有时尚的衣服等等,然后呢就 变漂亮了;比如礼品,都要加个礼品盒,然后档次提高了,可以开个好价 ,这也是“装饰”。 装饰者模式有个 需要遵循的原则:开闭原则,即对修改关闭,对扩展开放。 什么情况下需要用到装饰装者模式? 我的理解就是:当我已经提供了一些method,而你要使用我的method,那么你只能在不损坏我的method 的前提下,在我的method的基础 上 进行扩展,也就是覆盖处理。 使用装饰者模式有什么好处? 就是不损坏需要装饰的类,也即保护需要装饰的类。 实例代码: beverage.
阅读全文
posted @ 2013-09-17 23:55
风言枫语
阅读(281)
推荐(0)
摘要:
本文原文请见:http://www.raywenderlich.com/46988/ios-design-patterns. 由 @krq_tiger( http://weibo.com/xmuzyq )翻译,如果你发现有什么错误,请与我联系谢谢。 门面(Facade)模式(译者注:facade有些书籍译为门面,有些书籍译为外观,此处译为门面) 门面模式针对复杂的子系统提供了单一的接口,不需要暴漏一些列的类和 API 给用户,你仅仅暴漏一个简单统一的 API 。 下面的图解释了这个概念: ...
阅读全文
posted @ 2013-09-17 23:54
风言枫语
阅读(186)
推荐(0)
摘要:
本文原文请见:http://www.raywenderlich.com/46988/ios-design-patterns. 由 @krq_tiger( http://weibo.com/xmuzyq )翻译,如果你发现有什么错误,请与我联系谢谢。 适配器(Adapter)模式 适配器可以让一些接口不兼容的类一起工作。它包装一个对象然后暴漏一个标准的交互接口。 如果你熟悉适配器设计模式,苹果通过一个稍微不同的方式来实现它 - 苹果使用了协议的方式来实现。你可能已经熟悉 UITableViewDelegate, UIScrollViewDeleg...
阅读全文
posted @ 2013-09-17 23:51
风言枫语
阅读(223)
推荐(0)
摘要:
正常流程到flashcache_map的1623行或1625行,按顺序先看读流程: 1221static void1222flashcache_read(struct cache_c *dmc, struct bio *bio)1223{1224 int index;1225 int res;1226 struct cacheblock *cacheblk;1227 int queued;12281229 DPRINTK("Got a %s for %llu %u bytes)",1230 (bio_rw(bio) == READ ? "READ":&q
阅读全文
posted @ 2013-09-17 23:48
风言枫语
阅读(246)
推荐(0)
摘要:
本文原文请见:http://www.raywenderlich.com/46988/ios-design-patterns. 由 @krq_tiger( http://weibo.com/xmuzyq )翻译,如果你发现有什么错误,请与我联系谢谢。 备忘录(Memento)模式 备忘录模式快照对象的内部状态并将其保存到外部。换句话说,它将状态保存到某处,过会你可以不破坏封装的情况下恢复对象的状态,也就是说原来对象中的私有数据仍然是私有的。 如何使用备忘录模式 在 ViewController.m 中增加下面的方法: Obje...
阅读全文
posted @ 2013-09-17 23:45
风言枫语
阅读(292)
推荐(0)
摘要:
DRP终于结束了,战线有点长了。记得刚开始听说DRP的时候,感觉这个名词很专业,再加上视频一共有300集,顿时感觉这是一个大项目,很正规、很专业的项目。虽然后来知道DRP知识ERP的一个分支,项目规模也一般般,而且功能也并没有全部实现,但是,java Web开发涉及到的知识,DRP中几乎都有涉猎。通过这个项目,确实学到了不少东西。下面简单总结一下:整体概括: 业务通过DRP,初步了解了一下分销资源方面的业务,知道了一些专业名词。俗话说:业务为王。多了解一些业务还是很有好处的。而且我对公司的组成、职位的分布、运作流程什么的也挺感兴趣,虽然这个项目并不是主要讲业务的,但给我一种进一步了解的渴望,喜
阅读全文
posted @ 2013-09-17 23:44
风言枫语
阅读(237)
推荐(0)
摘要:
Python, 是一种面向对象、直译式计算机程序设计语言。Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。本文档适合Python爱好者以及用Python语言进行系统管理、 GUI开发、Web开发、数据库编程、网络编程的人员使用。点击可下载~ Python开发技术详解 《Python开发技...
阅读全文
posted @ 2013-09-17 23:41
风言枫语
阅读(924)
推荐(0)
摘要:
DoM浏览器支持:IE: 10%FF: 99%Chrome: 60% childNotes不兼容 在Chrome和IE9中会将文本节点也算作childNotes,而在IE6-8中childNotes只算元素节点,而不算文本节点。 在IE9和Chrome中ul的childNotes个数为9个,而在IE6-8中为4个。 noteType 显示节点的类型信息(浏览器兼容): 文本节点:noteType值为3 元素节点:noteType值为1 如果要对ul中的li的样式进行操作,并且还要对不同版本的浏览器...
阅读全文
posted @ 2013-09-17 23:38
风言枫语
阅读(148)
推荐(0)
摘要:
前期准备需要import "net"包IP类型,其中一个重要的方法是IP.ParseIP(ipaddr string)来判断是否是合法的IP地址TCP Clientfunc (c *TCPConn) Write(b []byte) (n int, err os.Error)用于发送数据,返回发送的数据长度或者返回错误,是TCPConn的方法func (c *TCPConn) Read(b []byte) (n int, err os.Error)用于接收数据,返回接收的长度或者返回错误,是TCPConn的方法TCPAddr类型,保存TCP的地址信息,包括地址和端口 type
阅读全文
posted @ 2013-09-17 23:36
风言枫语
阅读(321)
推荐(0)
摘要:
2009年,我从美国买回一台ThinkPad X200 Tablet,Windows XP Tablet PC Edition 2005版,服役几年一直很正常。直到2012年初的时候,突然发现电脑非常的慢,打开文件夹都特别慢。十分奇怪,于是我打开任务管理器Task Manager,吃惊的看到system进程持续占用50%,傻眼了。这让正常的进程怎么活啊。于是,我便开始了漫长的寻找原因的过程。首先,用Process Explorer看看进程的情况,在System进程下,子进程Interrupts占用50%。说明有大量的中断请求反复的出现,而且是潮水般的非正常的情况。立刻怀疑可能是某个硬件故障,导
阅读全文
posted @ 2013-09-17 23:34
风言枫语
阅读(625)
推荐(0)
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4733 题目大意:定义G(x)=x⊕(x>>1).给两个由0、1、?组成的长度相同的字符串S1,S2.其中?表示0、1状态不确定,求有多少种p,使得G(p)=S1,G(p+1)=S2如果p唯一,则输出G(p)和G(p+1)(注意这中间不能有问号)。解题思路:这是我写的史上最臭最长最戳的代码,大神请跳过。分析函数G(x)=x⊕(x>>1) 也就是右移一位再抑或,从高位出发,构造p和p+1串,先分别放一个0到p和p+1(右移高位时补零的),然后根据S1和S2的状态以及p和p+1的
阅读全文
posted @ 2013-09-17 23:30
风言枫语
阅读(343)
推荐(0)
摘要:
无标题文档 WEB页面导出为EXCEL文档的方法 列标题1 列标题2 列标题3 列标题4 列标题5 aaa bbb ccc ddd e...
阅读全文
posted @ 2013-09-17 23:27
风言枫语
阅读(212)
推荐(0)
摘要:
我不喜欢多说没用,直接给下载链接,进去直接下载,下载不动的联系网站客服解决!我只和我的好朋友们分享好的视频教程 http://edu.csdn.net/main/video.shtml 视频教程目录过程详见下图,不明白的 可以联系官网客服
阅读全文
posted @ 2013-09-17 23:24
风言枫语
阅读(395)
推荐(0)
摘要:
文章标题:基于xml文件实现系统属性配置管理 .文章地址: http://blog.csdn.net/5iasp/article/details/11774501作者: javaboy2012 Email:yanek@163.com qq: 1046011462项目截图;主要有如下几个类和配置文件实现:1. SystemPropertiespackage com.yanek.cfg;import java.util.Collection;import java.util.Map;public interface SystemProperties extends Map{ pub...
阅读全文
posted @ 2013-09-17 23:22
风言枫语
阅读(406)
推荐(0)
摘要:
这个东西必须写个博客记一下了,一方面是防止以后忘记,一方面也反思一下自己的固执。在我们的代码中,通常会有一些配置文件的路径写死在代码里面。比如public class ConfigPath{private static String CONF_FILE = "/dir/xxx/ppp.propetries";} 在做UT的时候,一般测试环境和真实的生产环境是不一样的,配置文件的路径肯定也是不一样的,这样在测试的时候,必须要把这个路径替换掉,而且不能影响系统原来的代码。在上一家公司的时候,做过这样的事情,不过在那个公司都是前面的大牛写过这样的东西,自己依葫芦画瓢,照着写一份就
阅读全文
posted @ 2013-09-17 23:20
风言枫语
阅读(379)
推荐(0)
摘要:
Drupal二次开发的时候,我们时常要使用到多选列表,但是官方默认的多选下拉列表,是在不敢恭维如下图所示: 不过难看不可怕,Drupal有两万第三方模块做支撑,只有你想不到,没有找不到的。 功夫不负有心人,终于找到一款相貌极佳的module。于是拿过来使用,切看我慢慢道来,该去如何使用它。 第一:去官网下载模块,安装。 第二:安装完毕,接下来就要使用到Form API开发中去 /** * hook_menu(). * @author masx */function front_menu(){ $items['formexample'] = array( 'title
阅读全文
posted @ 2013-09-17 23:17
风言枫语
阅读(259)
推荐(0)
摘要:
估计很多码农都会遇到各种恶心的程序BUG,在这里就跟大家讨论一下内存不知道什么时候被删除的解决方案,本人认为程序调试的最核心是如何给程序最正确的下断点,下好了断点,程序调试你也就成功了一半了,所以这个问题也是一样的,如果碰到这样的问题,我们可以在对象的析构函数中输出对象的析构指针,跟崩溃的析构指针进行对比,找到是那一次析构出现的问题,给析构函数下一个计数断点,这样,咱们程序内存莫名被删除的地方也就锁定了,剩下的问题也就很简单了吧。呵呵~
阅读全文
posted @ 2013-09-17 23:15
风言枫语
阅读(126)
推荐(0)
摘要:
八数码问题【题意】编好为1~8的8个正方形滑块摆成3行3列(一个格子为空),如图所示 每次可以移动空格相邻的滑块到空格,要计算出能移动出目标局面的最小步数,如无法达到则输出-1。 【分析】 我们可以把每一种局面定义为一种“状态”,而每个状态就是由9个格子的编号依次排列组成,如上图左的状态为:1,5,2,4,3,0,7,8,6,同理右的状态为:1,2,3,4,5,6,7,8,0。然后我们可以用宽度优先遍历搜索(BFS)的方法,对每一种状态都进行扩展出新的状态,然后知道搜索出目标状态为止。 【代码】typedef int State[9]; //定义“状态”类型const i...
阅读全文
posted @ 2013-09-17 23:13
风言枫语
阅读(879)
推荐(0)
摘要:
-(void)leftClick{[UIViewbeginAnimations:nilcontext:nil];//displaymode,slowatbeginningandend[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];//动画时间[UIViewsetAnimationDuration:1.0f];//使用当前正在运行的状态开始下一段动画[UIViewsetAnimationBeginsFromCurrentState:YES];//给视图添加过渡效果[UIViewsetAnimationTransition:UIVie
阅读全文
posted @ 2013-09-17 23:11
风言枫语
阅读(206)
推荐(0)