代码改变世界

SGI STL 学习笔记一 Iterator

2010-12-31 19:08 by curer, 752 阅读, 0 推荐, 收藏, 编辑
摘要:之前一直希望能够看STL源代码,因为他一直存放在我的硬盘深处。但是由于复杂性,我一直再绕。而且纠结的是,我一直推荐我的学弟去研读STL。由于最近的工作需要,使我不得不一看STL的究竟。当然,STL对我来说依然是太庞大了,有相当多的相关的基础知识的缺乏导致整个过程实在是太艰难了,直到我看到了《SGI STL 源码剖析》。之后我的很多例子其实就是这本书的源代码。真的,这又是一本经典的著作。这本书贯穿了我整个STL的学习。当然,如果你之前研读过《inside c++ object model》等经典C++教材。你会发现。整个知识开始网罗了。  按照道理来讲,学习STL,实在是不能不从总图开始。但是S 阅读全文

又是一年过去了

2010-12-25 11:40 by curer, 2377 阅读, 2 推荐, 收藏, 编辑
摘要:又是一年过去了。转眼已经大四。活了这么多年,终于要开始走向社会了。也不得不面对人生n个第一次。 第一次一个人做火车。第一次一个人出远门。第一次和别人合租。第一次正经工作……  看了一眼,发现自己的第一篇博客是2010-01-10 11:54。完成的。不知不觉在园子里面也混了将近一年了。看这这些文章,不禁又想总结这一年来的得与失。  我一直以来有一个很坏的习惯。不喜欢去那笔记录一下自己。但是当我看到这篇文章之后,永远改变了我的看法。http://mindhacks.cn/2009/02/15/why-you-should-start-blogging-now。的确。写这一年的博客,真的让我收获颇 阅读全文

SEH 学习笔记二

2010-12-21 17:38 by curer, 2584 阅读, 1 推荐, 收藏, 编辑
摘要:上一篇总结了SEH的基础知识,这一篇我们稍微深入一点。之前我们知道了异常是什么样的,以及我们写好了出现异常时执行的代码。那么windows是如何调用我们的代码呢?在了解这个之后,global unwind,异常嵌套也就容易了解了。不得不说,如果之前没有了解SEH,这的确是一件非常有挑战的事情。当然,如果从根上,也就是从硬件到os kernel再到user mode这个就不是挑战,而是不可能一下子完成的任务了。我们还是一步步来,从异常跑到user mode开始。准备好了么?  首先想一个问题,上一篇我们的第一个例子,我们保护了一段代码,但是同时,为了修正这段代码,我们又引入了一段代码。事实上,我 阅读全文

SEH学习笔记一

2010-12-15 20:19 by curer, 3653 阅读, 1 推荐, 收藏, 编辑
摘要:SEH(structured exception handling),结构化异常处理。在windows本身开发中运用的非常广泛,而且MS并没有独享,并且通过vs为开发者提供了方便几个关键字来支持。__try, __exception,__finally。但是讲解的却非常少。本文希望能够给大家抛砖引玉一下。http://www.microsoft.com/msj/0197/exception/exception.aspx,这篇是理解SEH必须的文章,虽然他的时间悠久,但是却真正的解释了SEH的编译器级实现,下面的一些示例代码也来自这里。相关的不错的SEH文章,http://www.woodman 阅读全文

未来一年的小计划

2010-11-19 13:13 by curer, 628 阅读, 0 推荐, 收藏, 编辑
摘要:虽然目标,任务给自己下了不知道多少次,但是总没有坚持下来过。这次破例,再给自己下一次。这也算是自己未来1年的计划吧。第一年,我的事情主要有2个。第一个是参与创业,第二个是加强自己的基础知识。  参与创业这个事情,对现在的我来说,说容易也容易,说难也难。创业到底是什么,其实我也不知道,对他来说,我不知道他的过去,也无法预知他的将来。也不知道我能为我们这个创业团队带来什么,但是好在我现在能知道他能给我... 阅读全文

PE文件初探二

2010-10-06 22:21 by curer, 3523 阅读, 2 推荐, 收藏, 编辑
摘要:上一篇主要是很初略的总结了是什么,这篇要总结下为什么。以下部分参照了http://msdn.microsoft.com/en-us/magazine/cc301727.aspx和http://blog.donews.com/zwell/archive/2005/10/21/596302.aspx两位大牛的文章。和上述不同的是本文主要的涉及内容来自win7。当然我这里并没有真正的涉及win7,以及Vista所加入的新内容,(因为那些对现在的我来说实在是太复杂了)。win7 只是一个壳子,我描述的核心是在win2K,甚至是在windows3.1这些版本中就已经有的。当然为了能够更详细的理解整个过程 阅读全文

PE文件初探一

2010-10-06 22:09 by curer, 3416 阅读, 1 推荐, 收藏, 编辑
摘要:最近一直在学习PE文件的相关知识。随着了解的增多,我不得不改变之前的学习方式。以前总是再理解更进一步后, 才总结上一层的知识。而且理解知识的时候总是喜欢从难到易得方式去理解知识。因为如果漫无目的的去学习,实在是 一个体力活。如果把一系列相关的知识比作一颗倒置的二叉树的话,我总是喜欢从根节点开始,然后再去遍历每个叶子 节点。只可惜我并没有掌握非递归算法。好吧,再没有处理尾递归的情况下,随着二叉树深度... 阅读全文

再谈C++虚继承

2010-06-07 21:33 by curer, 8571 阅读, 4 推荐, 收藏, 编辑
摘要:上一篇只是初步的写了一下虚继承,很不清楚而且有的地方自己理解也不到位。这回详细总结一下。以下内容来自vs2008 默认设置下。类的布局可以通过-d1reportSingleClassLayout查看。  让我们从最简单的类结构开始。代码  内存中这个例子是这样的。代码  这里我们总结一下,类中有虚函数布局。若是类中有虚函数,那么类中第一个元素是指向虚表的指针(这个情况只有vftable)。 基类数... 阅读全文

C++虚继承初探

2010-06-01 23:22 by curer, 3985 阅读, 0 推荐, 收藏, 编辑
摘要:昨天和同学对c++虚继承这部分产生了一些争论,发觉自己对技术越来越浮躁了。不得不痛下决心。一看c++虚继承的内部实现(很浅很浅的看看)。 以下内容来自自己实验,希望各位大哥指点。当然要想获得权威的解释,看《Inside C++ Object Model》 让我们从最简单的开始。以下测试代码。以下是在我的环境下反汇编的部分代码。我的环境是vs2008 默认的Release。.text:0040107... 阅读全文

Win32汇编学习(1)

2010-05-22 20:00 by curer, 644 阅读, 1 推荐, 收藏, 编辑
摘要:终于把学校里面让人无语的论文搞定了。周末终于有时间干些自己想干的事了。想起了这2周做的关于编译原理的实验,代码优化这部分的确是个难题。哎,我实在是太笨了,其实答案就在自己电脑里。将c程序反汇编后,终于第一次感受到了debug 和release的区别。兴奋之余让我又产生了忧虑,自己汇编的能力太弱了,面对稍微复杂点的算法再加上编译优化后的汇编代码,真是欲哭无泪。痛下决心,准备好好学学汇编了。为了给自己... 阅读全文