摘要: 主题索引: 一、剖析C++标准库智能指针(std::auto_ptr)1.DoyouSmartPointer?2.std::auto_ptr的设计原理3.std::auto_ptr高级使用指南4.你是否觉得std::auto_ptr还不够完美? 二、C++条件,寻找构造更强大的智能指针(SmartPointer)的策略1.支持引用记数的多种设计策略2.支持处理多种资源3.支持Subclassing... 阅读全文
posted @ 2010-01-07 13:56 Owen Wilson 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 主题索引:一、剖析C++标准库智能指针(std::auto_ptr) 1.Do you Smart Pointer? 2.std::auto_ptr的设计原理 3.std::auto_ptr高级使用指南 4.你是否觉得std::auto_ptr还不够完美?二、C++条件,寻找构造更强大的智能指针(Smart Pointer)的 策略 1.支持引用记数的多种设计策略 2.支持处理多种资源 3.支... 阅读全文
posted @ 2010-01-07 13:55 Owen Wilson 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 事实上,分隔条也是一个很普通的窗口,它也拥有自己的窗口类、自己的窗口过程——就像所有的预定义控件一样。也就是说,要创建一个分隔条,也需要进行窗口类的注册和窗口的创建。以下的示例代码示范了如何注册一个分隔条的窗口类: WNDCLASS wc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = (HBRUSH)CO... 阅读全文
posted @ 2009-10-22 09:29 Owen Wilson 阅读(879) 评论(3) 推荐(1) 编辑
摘要: 网上关于Linux的BOOTLOADER文章不少了,但是大都是vivi,blob等比较庞大的程序,读起来不太方便,编译出的文件也比较大,而且更多的是面向开发用的引导代码,做成产品时还要裁减,这一定程度影响了开发速度,对初学者学习开销也比较大,在此分析一种简单的BOOTLOADER,是在三星公司提供的2410 BOOTLOADER上稍微修改后的结果,编译出来的文件大小不超过4k,希望对大家有所帮助.... 阅读全文
posted @ 2009-09-16 17:33 Owen Wilson 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 写在前面:通过uboot的阅读我学到了很多东西,高手写的代码就是不一样。代码阅读顺序:1.第一阶段(Stage 1)第一阶段的启动代码在 cpu\<cpu type>\start.s中,完成的工作主要有:CPU自身初始化:包括 MMU,Cache,时钟系统,SDRAM 控制器等的初始化 重定位:把自己从非易失性存储器搬移到 RAM中 分配堆栈空间,设置堆栈指针 清零 BSS 数据段 跳... 阅读全文
posted @ 2009-08-20 15:35 Owen Wilson 阅读(2687) 评论(0) 推荐(0) 编辑
摘要: Q:http://zhidao.baidu.com/question/42036677.html  A:  功能:   1、可选是否包含大小王   2、可选发牌列数   3、避免使用大数组,为此付出的代价是多一层循环。   4、便于扩展,比如可以扩展到10种花色的扑克(^_^),两副牌等等。    调试环境:VC6+WinXP,Win-TC2+WinXP  随机算法部分来源于本空间的“... 阅读全文
posted @ 2009-07-01 16:24 Owen Wilson 阅读(282) 评论(0) 推荐(0) 编辑
摘要: C语言嵌入式系统编程修炼之道——背景篇不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言——一种“高级的低级”语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系统项目的开发过程中,一次又一次感受... 阅读全文
posted @ 2009-05-11 13:32 Owen Wilson 阅读(1061) 评论(0) 推荐(0) 编辑
摘要: 这个周有点忙,被人扒了衣服,看了又看,还从了别人好几次,本来打算每周三左右做一个专题,一直拖到周五。昨天和欧文商量了一下,本期就讨论一下指针的问题。 指针可以说是C/C++的精髓之一。掌握好了指针,可以将编程过程简化好多。但指针也是一把双刃剑,用好了,程序优美,效率也能提高,但用不好,却会引发程序崩溃,成为你是噩梦,也许因为如此,Java好像就取消了指针这个概念。 将指针总结的几个方面,大家各... 阅读全文
posted @ 2009-04-10 13:48 Owen Wilson 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1.分段机制 80386的两种工作模式   80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。 分段机制   在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。   从逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄存器作为段选择器,用来选择该段的描述符。 分段逻辑... 阅读全文
posted @ 2009-04-09 16:26 Owen Wilson 阅读(8181) 评论(1) 推荐(2) 编辑
摘要: 前段时间,在查控件的内存泄露时,最终找出一个错误:在使用XMLDom(COM)时,由于重复使用某接口指针前未释放Dispatch指针(Release),而导致内存泄露,而此类错误(如同BSTR类型的泄漏),VC的调试器和Bondcheck均无能为力。解决办法,似乎只有细心一途。   但只要稍稍仔细看看,就可发现,实际上如果正确使用VC提供的智能指针,是可以避免此问题的。   另外,一直为Java程... 阅读全文
posted @ 2009-03-11 16:55 Owen Wilson 阅读(550) 评论(0) 推荐(0) 编辑