摘要: Special Command—Advanced Programming Techniques for WinDbg Scriptsrafarah Microsoftlink:http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/01/31/special-command-advanced-programming-techniques-for-windbg-scripts.aspx11,545 Points 3 3 2 Recent Achievements New Blog Rater Blog Commentator II Blog P 阅读全文
posted @ 2012-11-14 07:53 SolidMango 阅读(780) 评论(0) 推荐(0) 编辑
摘要: Windows程序员进阶应该看的那些书 业内有一个普遍的现象,一般Windows程序员在写了3-5年的代码的时候会有一段迷茫期,因为这个时期的程序员已经掌握了常用的一些编程技巧,对某种编程语言已经比较熟悉,可以完成常规的任务,但是这个时候的程序员也很容易迷茫。主要的表现有以下几种: 第一种,开始不停 阅读全文
posted @ 2012-11-08 20:53 SolidMango 阅读(6406) 评论(18) 推荐(4) 编辑
摘要: 程序员请不要忽视调试技术 想写这篇文章已经很久了,但是一直不知道如何开始,因为调试技术这个东西本身不像编程语言,C++/C#这种简单的东西,大家想做些什么,查查类库,查查msdn,写出一些功能,皆大欢喜。 调试技术本身就很枯燥,如果没有一定定力的兄弟,看看可能就觉得犯困,没劲,没成就感。但是想想程序 阅读全文
posted @ 2012-11-07 22:01 SolidMango 阅读(3033) 评论(18) 推荐(5) 编辑
摘要: Windows C++ 导出和导入纯DLL函数(非COM)总结多年以前由于DLL hell 问题人们很少在直接从dll文件导出函数并且直接使用,但是有时候事情的解决方案不是我们可以选择的,今天在解决一个问题的时候,还是不得已选择了一个这样的方式。但是搜索了一下,网上关于这个问题的总结文章都写的不是很... 阅读全文
posted @ 2012-11-07 14:39 SolidMango 阅读(5268) 评论(2) 推荐(2) 编辑
摘要: Windows 内存分析之路 How to use Resource Monitor 人之所以区别于动物就在于使用工具,同样,在某种程度上说,在正确的时候使用正确的工具,确实可以提高程序员的生产率。最近在网上看到一篇Resource Monitor的使用的文章,觉得对大家可能会有用处,于是把重点的部 阅读全文
posted @ 2012-11-05 10:28 SolidMango 阅读(7555) 评论(4) 推荐(2) 编辑
摘要: 最近和一个朋友闲聊的时候他对我说一个人对C++的理解很多种境界,朋友不是个喜欢吹牛的人,于是听他细说,觉得很是有道理。想写一篇C++ traits方面的文章已经有一段时间了,但是说实话traits这项技术确实有些晦涩,很担心写完了达不到期望的效果,于是每每试图以简炼的文字表达,慢慢的就等到了今天。先说说我为什么专门对这项技术写一篇文章吧。记得当时在看STL/boost代码的时候经常遇到traits,当时惊叹于代码原来可以这样写,但是最初根本是看不懂的,查了一些资料才彻底理解了traits存在的意义。本质定义:加上一层间接性,换来以定的灵活性。看下面的代码:template<typenam 阅读全文
posted @ 2012-10-17 11:19 SolidMango 阅读(28887) 评论(12) 推荐(6) 编辑
摘要: 给C++初学者的50个忠告 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 6.会用Visual C++,并不说明你会C++;... 阅读全文
posted @ 2012-09-26 21:00 SolidMango 阅读(986) 评论(0) 推荐(2) 编辑
摘要: General-Purpose RegistersThe 32-bit general-purpose registers EAX, EBX, ECX, EDX, ESI, EDI, EBP, and ESPare provided for holding the following items:• Operands for logical and arithmetic operations• Operands for address calculations• Memory pointersAlthough all of these registers are available for g 阅读全文
posted @ 2012-09-24 08:59 SolidMango 阅读(1296) 评论(0) 推荐(1) 编辑
摘要: Windows开发的内功和招式 最近一个月笔者休了大约两周的假期,期间没有学习新的开发技术,也没有去游山玩水,而是对自己的知识结构和Windows开发本身进行了一个深入的思考,收获颇多,在这里希望和大家共同分享一下。 如果把Windows开发比作练武,那么就一定有内功和招式,二者相依相存,没有内功的招式只能算是花架子,中看不中用。 那么,什么算是内功呢? 首先,我想说的是系统模型和知识,整天在windows上做开发,对windows的了解够么?可能很多人说,我是做.net开发的,了解那么多没用,.net都做好了。我同意,人各有志嘛,但是我想问个问题,.net写的大型客户端有时候会突然卡... 阅读全文
posted @ 2012-09-22 08:08 SolidMango 阅读(5334) 评论(85) 推荐(19) 编辑
摘要: 上次写了一篇文章,Windows代码heap内存分析实战 由于时间的关系,写的不是很详细,于是有朋友建议写的详细些,于是有了本文。Windows C++代码heap分析详解Windows代码占用的内存主要是堆和栈,其中栈内存又被称为自动内存,一般为系统自动管理,所以常见的问题主要发生在堆内存上。系统中如果分配了堆内存而不释放,或者错误释放,都会产生问题。首先来分析一下堆内存的主要结构:对于普通的堆:1. CreateHeap -> creates a _HEAP2. AllocHeap -> creates a _HEAP_ENTRY对于页堆 (gflags.exe /i +hpa 阅读全文
posted @ 2012-09-21 14:28 SolidMango 阅读(3061) 评论(2) 推荐(1) 编辑