摘要: 人物 A 小王子人物 B 曹队长人物 C 波子人物 X 学长人物 E 春哥人物 F 盛哥一直想写点什么总结今年的生活工作状态,总是没有时间。今天想起手机里的信息也都丢失了,如果再不回想下今年做过的事情,恐怕以后再也记不起来了。很多事情也一时想不起来,就权以项目为引线。从哪儿说起呢?..就从那个晚上吧..A捧着spring,依在床上念叨着复习Loc,AOP, 我钻进了被窝有一句没一句的应答着,这是一个开始..前一天看了很多多线程的内容,脑袋有点晕,意识到可能会问些SSH的问题,也没有提起精神来自己看一看,天亮了,A和我一起出门了,B已经在市区了,两人猥猥琐琐到达那里的大门,打了电话还早,去超市买 阅读全文
posted @ 2013-02-07 17:41 天地不仁 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 不废话,刚刚在群里被鄙视了,故总结如下:声明与原型 a、函数名必须相同 b、返回值必须相同 c、 造成函数参数可以随意操纵的假象其实: 更加严格的写法是 extern void func(void);这个时候直接链接出错。由此我们可以使用这个特性,来使不同参数的参数兼容同一个公共接口: 如linux内核中的系统调用的实现;我们继续衍生出去,如果声明的写法是 extern func();那么则可以兼容所有的同名函数,而忽略其返回值与携带参数的类型/个数。通过汇编后的main代码观察:对于含参数的函数调用只是简单的从右向坐进行压栈,而对比检查只会发生在编译期。当函数返回时,... 阅读全文
posted @ 2012-12-06 20:41 天地不仁 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 第一段程序:关于一级指针与二级指针:int *p = NULL; int **p2 = &p; cout << p <<endl; cout << p2 <<endl;p输出是0,而p2的输出为xxxx.这里需要注意的是 NULL 不代表地址0,或者说在windows中代表0. NULL作为一个宏定义,任何系统均有自己的实现方式。(代表一个不可取值的地方)。二级指针是指向一级指针的地址,与NuLL无关。分水线------------------------------------------------------------------ 阅读全文
posted @ 2012-10-16 11:00 天地不仁 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 内核中container_of定义如下: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) 第二行好像没用,可以直接这样定义: #define container_of(ptr, type, member) ( (type *)( (char *)(ptr) - offsetof(type,member) ) ) 而在2.4的内核中的 阅读全文
posted @ 2012-09-06 09:09 天地不仁 阅读(319) 评论(0) 推荐(0) 编辑
摘要: Ssize_t 与size_t跟踪linux源码得到以下宏:#ifndef _SIZE_T#define _SIZE_Ttypedef __kernel_size_t size_t;#endif#ifndef _SSIZE_T#define _SSIZE_Ttypedef __kernel_ssize_t ssize_t;#endif在不同平台上,其具有不同的定义:/* sparc 64 bit */typedef unsigned long __kernel_size_t;typedef long __kernel_ssize_t;/* sparc 32 bit */typedef uns. 阅读全文
posted @ 2012-07-07 15:16 天地不仁 阅读(13282) 评论(1) 推荐(1) 编辑
摘要: C 预编译中的二次替换问题今天在阅读linux看门狗驱动的时候,发现一段奇怪的代码:static int tmr_atboot = CONFIG_S3C2410_WATCHDOG_ATBOOT;MODULE_PARM_DESC(tmr_atboot, "Watchdog is started at boot time if set to 1, default=" __MODULE_STRING(CONFIG_S3C2410_WATCHDOG_ATBOOT));依次跟进去宏的具体定义: #define __MODULE_STRING(x) __stringify(x) #de 阅读全文
posted @ 2012-07-06 10:31 天地不仁 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 问题描述:随机生成13位绝对无重复随机数的高效方法。问题思路:1、 预先生成好所有无重复随机数并存储,按需取数;2、 随机生成,即时比对当前所有已生成数。若存在,则重新生成。3、 寻找一个好的无冲突的hash算法(或冲突概率较低)。4、 按照一定的算法来生成伪随机数,要求满足一定数量级内无相似度或较低相似度。随机就不可能不重复,故任何算法不可能实现真正的随机.只是能够在一定程度上防止高频度的碰撞及相似度,从而给外界一个随机的假像.思路一的相关方法及问题:事先生成1-10000000000000,然后分组打乱,重复若干次后,即可获得所有的10万亿的数据。生成13位数(10万亿)大概是2的43次方 阅读全文
posted @ 2011-12-22 11:12 天地不仁 阅读(25269) 评论(41) 推荐(3) 编辑
摘要: jQuery事件参数传递模型:注:trigger 不能与 bind 的原生函数一样,使用同样的参数传递形式;参数传递一:$(document).ready(function(){$("#btn").bind("click", function(event,a ,b){start(event, a, b);});$("#btn").trigger("click",["5", "6"]);//5,6可... 阅读全文
posted @ 2010-08-16 15:53 天地不仁 阅读(36344) 评论(4) 推荐(1) 编辑
摘要: HTTP 文件上传的基本原理: 使用html 的<input type=”file” name=”xxx”> 标签,提交form 的几个属性必须为: method=post encType=multipart/form-data;method 属性必须设为post的原因是:值不是放在URL之后传递到服务器的;encType属性:这个属性管... 阅读全文
posted @ 2010-07-29 19:48 天地不仁 阅读(2601) 评论(2) 推荐(1) 编辑
摘要: 对象之间的关系:依赖(需要某种服务),关联(对象间有某种对应关系),聚合,组合,继承...依赖:对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。 依赖一般情况下是以下几种情况之一:a、ClassA中某个方法的参数类型是ClassB;这种情况成为耦合;b、ClassA中某个方法的参数类型是ClassB的一个属性;这种情况成为紧耦合;c... 阅读全文
posted @ 2010-05-24 15:26 天地不仁 阅读(12548) 评论(11) 推荐(5) 编辑