我思我能

I just CAN do any THing I CAN THink.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年12月10日

摘要: 在一次面试过程中遇到让我用C++写单例模式的问题。以为很简单,刷刷刷提笔就来,结果遇到N次要求优化。后来才发现,在C++中优化单例模式很不简单。 阅读全文
posted @ 2012-12-10 19:26 软件真理与光 阅读(2580) 评论(14) 推荐(1) 编辑

2012年10月1日

摘要: 1 #include <cstdlib> 2 #include <iostream> 3 4 using namespace std; 5 6 //// brige partten:Begin 7 class bri_Implementor 8 { 9 public: 10 virtual void optImpl() = 0; 11 }; 12 13 class bri_ImplementorA: public bri_Implementor 14 { public: 15 void optImpl() { std::cout ... 阅读全文
posted @ 2012-10-01 17:51 软件真理与光 阅读(467) 评论(0) 推荐(0) 编辑

2012年6月15日

摘要: @CopyLeft by ICANTH,I Can do ANy THing that I CAN THink!~Author:WenHui,WuHan University,2012-6-15PDF版阅读地址:http://www.docin.com/p1-424285718.html普通自旋锁自旋锁最常见的使用场景是创建一段临界区 :static DEFINE_SPINLOCK(xxx_lock);unsigned long flags;spin_lock_irqsave(&xxx_lock, flags);... critical section here ..spin_unlo 阅读全文
posted @ 2012-06-15 11:12 软件真理与光 阅读(3063) 评论(0) 推荐(0) 编辑

2012年6月12日

摘要: @CopyLeft by ICANTH,I Can do ANy THing that I CAN THink!~Author:WenHui,WuHan University,2012-6-12PDF版下载地址:http://www.docin.com/p1-422100846.html一、程序源码(Python)二、算法分析由于该算法简单,故仅分析其平均复杂度,其平均复杂度为:平均分析·比较次数假设插入第个元素时,其插入位置为,1 <= <= K。其需比较次,故其平均比较次数为:插入N个元素时,算法总平均比较次数为:·赋值次数假设插入第个元素时,其插入位置为, 阅读全文
posted @ 2012-06-12 13:54 软件真理与光 阅读(4854) 评论(3) 推荐(3) 编辑

2012年6月10日

摘要: @CopyLeft by ICANTH,I Can do ANy THing that I CAN THink!~Author: WenHui, WuHan University,2012-6-4内存屏障(Memory Barriers)一方面,CPU由于采用指令流水线和超流水线技术,可能导致CPU虽然顺序取指令、但有可能会出现“乱序”执行的情况,当然,对于” a++;b = f(a);c = f”等存在依赖关系的指令,CPU则会在“b= f(a)”执行阶段之前被阻塞;另一方面,编译器也有可能将依赖关系很近“人为地”拉开距离以防止阻塞情况的发生,从而导致编译器乱序,如“a++ ;c = f;b 阅读全文
posted @ 2012-06-10 21:31 软件真理与光 阅读(15746) 评论(1) 推荐(3) 编辑

2012年6月4日

摘要: LINUX中断描述符初始化 @CopyLeft by ICANTH,I Can do ANy THing that I CAN THink!~ Author: WenHui, WuHan University,2012-6-4 硬件产生中断之后,需要通过门描述符来寻找中断的处理程序入口。门描述符和段描述符一样,8个字节。门描述符大体分为:段偏移、段选择子以及DPL。段选择子用于在GDT中... 阅读全文
posted @ 2012-06-04 21:41 软件真理与光 阅读(2071) 评论(1) 推荐(1) 编辑

2012年5月20日

摘要: LINUX内核狂想曲@CopyLeft by ICANTH,I Can do ANy THing that I CAN THink!~ Author: WenHui, WuHan University,2012-5-12Version:v1.0Last Modified Time: 2012-5-20SLOB概述SLOB(Simple List Of Blocks)分配器,是一个在SLAB分配器类层之中的传统K&R/UNIX堆分配器。它比LINUX原slab分配器代码更小短小,且更有效率。但它比SLAB更容易产生内存碎片问题,仅应用于小系统,特别是嵌入式系统。SLOB分配器总共只有三条 阅读全文
posted @ 2012-05-20 19:28 软件真理与光 阅读(1585) 评论(0) 推荐(0) 编辑

2012年5月14日

摘要: ICANTH——I Can do ANy THing that I CAN THink!~CopyLeft @ WenHui,WHU,2012-5-14作为一个程序员,C是我的母语,那你学C到底要学什么?或许大部分“聪明”的人就说——指针!有两个人的地方就会有政治。C,C++,JAVA,PHP,JavaScript,Python,……一个混乱的程序语言世界。每种程序语言的设计哲学都不一样,~Lisp:code-as-dataC:方便的操作图灵机Python:简单至美JAVA :活在对象的世界中…………每一种语言,主宰着属于自己的一个世界。他们归属不同阵营,经常相互攻击。C:漫骂C++的“四不. 阅读全文
posted @ 2012-05-14 09:20 软件真理与光 阅读(355) 评论(0) 推荐(0) 编辑

2012年4月18日

摘要: 用户视角下的文件系统 “一切皆是文件”,是UNIX和Linux的基本哲学之一。Linux对于文件I/O操作,实现了POSIX.1和Single UNIX Specification中的接口,包括open()、read()、write()、lseek()和close()等方法。正是由于Linux所实现的虚拟文件系统对具体文件系统进行了抽象,使得Linux可以方便地实现文件I/O操作接口... 阅读全文
posted @ 2012-04-18 15:17 软件真理与光 阅读(1071) 评论(0) 推荐(0) 编辑