- 博客(32)
- 收藏
- 关注
原创 反思一个问题的解决过程:多思考
反思一个问题的解决过程:多思考今天来了后我就一直在调试驱动中没有在创建进程前向上层通知的问题,中间经历了几个过程,现在回想一下,如果是当时看代码的时候如果能够深入一些,应该就会一次解决问题的,会节约很多时间。 一、问题的来源我们目前在做的一个软件中有一个功能是监视系统的进程创建,在进程创建前后创建后需要通知上层或者用户做出相应的反应。昨天我测试了进程通知的功...
2011-04-12 15:22:34
349
原创 FltRegisterFilter 调用失败的处理
FltRegisterFilter调用失败的处理 今天准备调试昨天的一个mini filter的时候,突然系统蓝屏了,感觉很奇怪,因为在以前是没有问题,而且这几天也没有改过代码,怎么突然有问题了呢?于是启动windDBG进行调试。 一 调试 在DriverEntry里下了断点,运行到FltRegisterFilter时,...
2011-04-08 14:47:53
1460
原创 “黑洞”式的功能或缺陷
在开发过程,出现了一类功能或者bug,处理它的开发人员给不出完成的时间估计,或者时间估计相当不准确。这样的问题的数目如果在项目中很多,那么项目的风险就很高。 这个问题可能是管理的问题,也有可能是技术的问题。...
2011-03-15 09:32:05
181
原创 资源管理器的右键增加“新建C++ Source”和“C/C++ Header”
在命令行中输入下面的代码: 1. 增加“新建C++ source” reg add HKCR\.cpp\ShellNew /v nullfile /freg add HKCR\cppfile /ve /d C++文件 /f 2. 增加“新建C/C++ Header” reg add HKCR\.h\ShellNew /v nullfile /f...
2011-03-14 11:26:55
418
原创 正确使用线程
正确使用线程一、 概述正确使用线程 = 隔离 + 异步消息 二、 使用方式1. 数据之间相互隔离,线程的数据尽可能私有。注意这并不是意味使用一些特殊的方式比如线程局部存储(TLS),只是说不要通过暴露数据的指针或者引用来共享线程的私有数...
2011-02-24 13:16:08
124
原创 驱动包的类型
在安装驱动的时候,一般是使用inf文件进行安装。 在inf文件中有一个version节,对驱动的安装是至关重要的。它位于inf文件之首,其下有一个字段DriverPackageType是确定驱动安装包的类型。格式如下: [Version] … DriverPackageType=PackageType 上面的PackageType就是驱动包的...
2011-02-23 13:24:39
222
判断Windows是否处于安全模式
判断Windows是否处于安全模式一、前言 在开发驱动的时候,在有的情况下需要查看操作系统是不是运行在安全模式下。比如我们如果判断出系统正处于安全模式下,就不让驱动程序加载成功。二、原理 微软以及估计到了开发中有这样的需求,在Windows操作系统核心中导出了一个指针变量,它保存了一个声明为...
2011-02-20 23:45:25
2490
原创 编译错误C3163:_vsprintf的属性声明不兼容
编译错误C3163:_vsprintf的属性声明不兼容问题在昨天用VS2008和最新的V7.1SDK编译程序的ZLIB时候,出现了一个错误:38> C:\Program Files\Microsoft VisualStudio 9.0\VC\include\stdio.h(358) : error C3163: '_vsnprintf': attr...
2011-02-13 20:07:47
531
原创 从版本宏定义谈Windos的版本(一)
从版本宏定义谈Windos的版本(一) 你想知道Windows有哪些版本号码?如果你是开发人员,可以从微软的SDK中可以看出一些: //// _WIN32_WINNT version constants//#define _WIN32_WINNT_NT4 0x0400#def...
2011-02-12 10:15:55
261
_MSC_VER 宏的取值
在编译器预处理过程中,有些宏是C或者C++标准预先定义的,有些是编译器自身预先定义的。 在Windows上开发程序的时候,大多数时候用的是微软的C/C++编译器,_MSC_VER就是其中一个比较常见的宏。定义_MSC_VER是微软的C/C++编译器预先定义的一个宏,它包含了编译器的主要和次要版本号。编译器的版本号是用冒号分开的,如15.00.20706.01,分隔开的第一部分就是...
2010-12-09 23:50:20
299
原创 Ubuntu下输入法的安装:孙拼音
安装完系统后默认的是ibus这个输入法框架,里边带的几个输入法特别不好使,感觉不是给中国人用的,尤其是使用简体中文的人,里边的几个输入法在每次输入后的可选字列表里都是一些不常见的字,另外还有一个我没法适应的输入法习惯是不能使用空格来确认第一个选择,非得输入数字1后才行,而我以前在windows下使用的输入法都不是这样的,可以用空格选择。 想起以前玩freebsd的时候用过sci...
2010-08-31 15:38:59
256
RC4加密算法
在密码学领域,RC4( 又名ARC4或者ARCFOUR)是应用最广泛的流加密算法,应用在安全套接字层(SSL)(用来保护网络上传输的数据)和WEP(无线网络数据保护)上。虽然它的最大亮点是算法的简单性和运行速度,但是因为它存在的弱点,在新的系统中使用时是有所争论的。the beginning of the output keystream is not discarded(使...
2009-11-09 17:30:00
1372
获取flickr网站上某个用户的所有图片url
1. 浏览器某一个页面,比如http://www.flickr.com/photos/stone_steen/3614206665/in/set-72157619584982140/,我们觉得还不错,想把这个人的所有图片下载下来 2. 获取对于的用户ID 调用flickr.urls.lookupUser获取页面对应的用户ID,参数url为http://www.flickr.com...
2009-07-11 19:07:56
809
关于flash的一些网站
近来研究FLASH的视频格式,了解了一些网站。http://groups.google.com/group/macromedia.flash/topics?lnkhttp://www.flashcomguru.com/http://osflash.org/red5http://www.streamingmedia.com/http://bro...
2009-04-27 16:10:10
250
DOS批处理中%cd%和%~dp0的异同
在DOS的批处理中,有时候需要知道当前的路径。在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。 这两个变量的用法和代表的内容一般是不同的。 1. %cd% 可以用在批处理文件中,也可以用在命令行中;展开后,是驱动器盘符:+当前目录,如: 在 c:\dir 下, echo %cd% 显示为, c:\dir ...
2009-04-02 23:18:47
439
简体还是繁体好:浏览器中的较量
这几天,有人提起了繁体简体之争,这可是涉及到我们每个人的生活各个层面的事情,即使不喜欢争论的人估计也得表明一下看法吧。 其中有的人说到了美观的问题,并有举例,用某些字的繁简体进行对比。仿照他的方法,我也来做一些比较,不过不是他那样把字放大了来比较。既然我们现在是信息时代,字在电脑上显示的时间应该是不少的,而其中,浏览器里显示更是常见的。 为了公平起见,我虽是生在四川,就用台湾的页面来...
2009-03-08 23:49:54
143
数组的列表初始化方式:C和C++的不同处理
今天在编译WinDump时,把一个c文件改为cpp,其中以前的一个定义和初始化是:static struct protoidlist { u_char protoid[5]; const char *name;} protoidlist[] = { {{ 0x00, 0x00, 0x0c, 0x01, 0x07 }, "CiscoMLS" }, {{ 0x00, 0x00, 0x0c...
2009-02-11 15:27:27
179
RTMPT 协议
一、 概述 RTMPT 协议是HTTP协议的扩展,Adobe的Flash Player和media server支持。RTMPT的命令基本都是用来控制网络连接的持久性的。在HTTP1.0的年代里,所有的HTTP请求都是建立一个网络连接,发出请求,得到回应,然后网络连接断开。在后来web世界变得越来越拥挤的时候,这个情况逐渐明显地成为一个性能话题,因此随着HTTP1.1标准的制订,HTT...
2008-12-22 17:20:05
609
错误,失败和沮丧的事情
今天遇到了一个十分让人郁闷的事情,把写好的代码丢了。事情是这样的: 今天来了后,产品方面提出新的要求,要修改Inno setup的安装程序,增加一个页面。我对Inno Setup并不熟悉,经过前面两天的摸爬滚打,有了改的胆量了。既然要求改,就开始改吧。 Inno Setup下载的时候,感觉除了一个基本的安装程序外,还可以下载安装一个istool的东西,它可以增强对inno代码的编写。...
2008-05-26 15:33:43
161
mozilla构建
这是我参照mozilla网站做的一些笔记:mozilla的编译一。下载源代码 需要gnu 的make工具和cvs cvs 客户端的设置是: :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot 1.选择一个项目去下载 browser --- firefox mail -- Thunderbird 新闻和邮件客户...
2008-04-02 17:48:03
267
VC6的宏:给文件添加CVS的$id$和$Log$
由于手上的一个项目是新接的,虽然已经用了很久的CVS,可是在原先的文件中缺少我认为很方便的$id$和$Log$.这个工程有40多个文件,要给它们一个一个加不是我所愿,我现在是修改一个文件就加一个。可是手工添加也是一个麻烦事情,为什么不让工具做这样的事情呢?我写了一个宏,绑定一个快捷键,就解决问题了。宏是如下定义的: Sub AddCvsInfo()'DESCRIPTION: 添加$...
2008-04-01 15:46:08
190
《html和xhtml权威指南(第五版)》-- 第二章 摘抄
编写工具 1)任何文本编辑器,更好一些的所见即所得的编辑器或者字处理器的HTML转换器 2)浏览器 3)因特网连接HTML页面的标签 标签的组成:名词,属性及属性的值 标签的种类:开始标签,结束标签HTML的“骨架” HTML的“皮肉” 1)标签 2)文本 3)注释 ...
2008-02-27 15:13:23
108
VC的编译和link选项 --对应IDE
vc的编译选项 一、一般 1)额外的包含路径 :/I 2)解析#using 引用的路径 :/AI[path] 3)Debug信息格式:/Z7,Zd /Zi /ZI 4)不显示启动标志(Startup Banner): /nologo 5)警告级别:/W1 /W2 /W3 /W4 5)告诉编译器检查64bit的可移植性:/Wp64 6)把警告当作...
2008-02-21 18:01:38
513
<<UML基础案例与应用>>书摘(第一章)
学外语时首先是使用它而不是先学它的语法和组词造句,当你花了一定的时间来运用外语后,就很容易理解外语的语法规则和组词规则。 类图: 你周围的事物大部分都具有某些属性(特性),并且它们以某种方式体现出各自的行为,我们可以认为这种行为就是一组操作。矩形框代表类的图标,它被分成3个区域。最上面的区域是类名,中间区域是类的属性,最下面区域里列的是类的操作。类图就是由这些类框和表明类之间如何...
2008-01-21 16:57:35
180
MSN shell的登录之道
这些天遇到了MIME解析的问题,打算用HTTP debug工具来调试一下,看看发出的http请求是什么样的。下载了一个微软的Fiddler,用它来看看我的http是如何跑起来的。测试时,无意中发现了msn 启动时msn shell发出的一些http请求。下面是一些url,其中是我的MSN登录帐号: 1.http://c3.msnshell.net/GM2/M.php?u=20&r=200...
2007-12-11 10:05:09
694
wholocking me
今天在cmd下边查看一个ax的时候,发现它没有用,准备del掉它,没有想到却说 “拒绝访问。”难道是因为有其他的进程转载了它,不能删除。想起了用到的wholocking me工具,看看是哪个进程装载了它。不过这个工具是GUI的,在命令行下不能用,想到这是在codeguru上公布了源代码的一个工具,自己也可以把源代码抓下来写个命令行工具。于是说干就干,下载下来,写成了...
2007-11-21 12:01:05
91
IDE:快速和易用
IDE一般都是功能强大的代名词,其实实际上是易用性好,套用微软的一句话就是用户体验好。在unix的命令行下用gcc,gdb,make,在windows下用VC2008,两者的对比是明显的,对于初学者IDE肯定是首要的也是唯一的选择。 一般情况下,我是喜欢用IDE的,可是这几天却有些烦了,下了一个Vs2008的beta2版本,用了一下,感觉是比VS2005好多了,.NET的2003的版...
2007-11-14 17:51:00
92
link遇到的问题
今天遇到了一个问题,虽然小,但还是记录一下。 在link项目的时候,出错了,输出如下: Linking... sockets_test.obj : fatal error LNK1103: debugging information corrupt; recompile module Error executing link.exe.在msdn里查了一下,对LNK1103错...
2007-09-10 17:25:41
335
Basic tar usage (GNU tar)
Archive a set of files: tar -cvf tarfile.tar /var/log/syslog /var/log/messages Archive and compress (gzip) a set of files: tar -cvzf file.tar.gz /var/log/syslog /var/log/messages Archi...
2007-09-07 12:10:36
93
vc的资源编译器的一个问题
今天写了个bat文件调用nmake来编译一个VC2003的工程,没有想到cpp文件都通过了,就是在编译rc文件时,出错了,错误如下: rc.exe /l 0x409 /fo".\Release\MEServer.res" MEServer.rc MEServer.rc(11) : fatal error RC1015: cannot open include file 'afxres.h'....
2007-08-21 15:17:08
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人