编程语言
gfang
关注linux、开源和互联网。目前从事SAN文件系统驱动开发.微博:http://weibo.com/frank8609 欢迎交流
展开
-
C++各大名库的介绍
原始来源不详 整理自:http://topic.csdn.net/u/20101213/23/76e10ff4-23fb-43a7-8c71-ed42796e58cd.html C++各大有名库的介绍 在C++中,库的地位是非常高的。C++之父 Bjarne Stro转载 2011-10-10 23:33:02 · 531 阅读 · 0 评论 -
UNREFERENCED_PARAMETER+的作用
我们从 UNREFERENCED_PARAMETER 开始吧。这个宏在 winnt.h 中定义如下: #define UNREFERENCED_PARAMETER(P) (P) 换句话说 UNREFERENCED_PARAMETER 展开传递的参数或表达式。其目的是避免编转载 2011-10-12 21:17:20 · 368 阅读 · 0 评论 -
C/C++预处理指令#pragma详解
在所有的预处理指令中,#Pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数转载 2011-11-04 13:54:43 · 417 阅读 · 0 评论 -
驱动开发技巧:去掉try except让驱动蓝屏直接暴露出错位置
个人总结 问题: 如下的一段驱动代码里发生了异常,执行了ErrorLog(...); 但是FunctionA()里的内容特别丰富,层次多而且调用关系很复杂,单步跟踪费时费力,很难找出异常究竟出在哪。 try{ FunctionA(); }except(EXCEPTION_EXECUTE_HANDLER) { ErrorLog(...); } 采用办法:原创 2011-11-04 21:52:10 · 1331 阅读 · 0 评论 -
双向链表的问题-自我总结
关键词:双向链表 其实是比较简单的问题 经验丰富的人就不用往下看了。 驱动中把所有找到的盘插入到双向链表尾(listHead),然后再从头遍历链表,把符合条件的结点放入另一个链表(disks)中。默认listHead中的第一个结点肯定符合条件,将其插入disks尾。完成这个动作之后,再取第二个结点时,listHead里的链接就变了。看起来很奇怪的问题。 LIST_ENTRY原创 2012-02-02 19:01:07 · 732 阅读 · 0 评论 -
如何熟悉一个开源项目
转自:http://www.blogjava.net/killme2008/archive/2012/05/22/378885.html 你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西。怎么下手呢?如何开始呢?我的习惯是这样: 1.首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博客,快速阅读一下就能对项目的目的、功能、基转载 2013-01-30 11:49:06 · 457 阅读 · 0 评论