07 2012 档案
摘要:Bcdedit 用法详解昨天写了一篇文章< Windows Server 2008 R2 如何启动kernel dbg进行双机内核调试『配置详解』>其中提及到Bcdedit,但是并没有对其进行详细的解释,作为续篇,本文对其用法发进行讨论。Bcdedit用于对vista及其以后版本的windows进行启动配置,当然内核调试的启动也是基于这个工具的。好吧,言归正传,开始对配置进行讨论。首先如果想对启动项进行配置必须得先加入一个boot entry, adding Boot Entry 过程如下,我们可以选择从当前的启动项拷贝一份,然后做些必要的改动,具体命令如下:bcdedit /co
阅读全文
摘要:相信windbg大家都不陌生,其提供了一个异常强大的功能就是kernel dbg, 在不同版本的windows 系统中启动kernel dbg的方式不禁相同,为了方便大家使用kernel dbg,本文对Windows Server 2008 R2系统上如何对其进行配置进行了讨论。Kernel dbg 对于系统程序员尤为重要,特别是驱动开发,经常需要和kernel dbg打交道,另外好多涉及到系统的用户态问题也需要内核调试,其重要性不言而喻,希望本文给您的内核之旅开个好头。对于Windows XP 启动内核调试相对简单,只要在boot.ini中加上相应的启动项就可以启动kernel dbg 故在
阅读全文
摘要:重读<算法导论>记得多年前学数据结构的时候作为教材的延伸读物我拜读了<算法导论>,当时有选择的读了大约2/3的东西,只学理论和算法实在枯燥,看书之余动手写了其中的一些算法,但是由于实在不知道这些知识有什么用处,剩余的1/3大部分是一些具体的理论推导和稍微复杂的算法。那么,为什么近期又重读这本算法著作呢?首先就是我遇到问题了,在前一阵的工作中频繁出现红黑树的分析问题,我不得不根据红黑树的排列去查找STL Map 中的内容,每次出现问题都要去内存中找出有用的状态。其次就是在研究V8的时候我觉得有必要系统的研究一下编译器实现,于是研究了一段时间的<龙书>,那段时间
阅读全文
摘要:应用C++ STL以最小堆方法解决Top K 问题问题的来源我想不必多言了,很多的面试题中,以及<编程之美>中都有对问题的描述,以及相关的解法,写本文的目的是以C++ STL的方式用最小堆解法解决这个问题。那么什么是最小堆呢?其实最小堆是一颗特殊二叉树,其父节点的key小于其孩子节点,对!最小堆不是堆,是二叉树!最小堆解法其实可以将问题的时间复杂度缩减到nlgK, 但是本文由于没有在C++ STL 中找到合适的函数保持最小堆(如果用自己写代码可以做到lgk),所以必须每次重建最小堆(如果您有更好的建议,欢迎指点),因此,时间复杂度为nk, 另外本文假设k<<n.#inc
阅读全文
摘要:快速排序算法的时间复杂度分析[详解Master method]经常听人谈起各种排序算法的时间复杂度,这个是O(n2)的,那个是O(n)的,这些人讲起来可谓滔滔不绝,但是你停下来问问他为什么这个是这个复杂度,他是怎么算出来的?往往没几个人能说出来。这个是一个浮躁的社会,大家都追求速度,到处复制,粘贴代码,拿人家的代码跑一便,就说自己会了这个,会了那个..也许有人觉得算法分析的太深没有用,但是笔者认为,有时候了解细节很重要,比如快速排序算法的时间复杂度,有时候是O(nlgn), 有时候就是O(n2), 在你不知道自己数据特性的情况下,很难选择是否使用快速排序,因为他并不总是最快的。说了些没用的,让
阅读全文

浙公网安备 33010602011771号