自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (57)
  • 收藏
  • 关注

原创 linux 设备驱动模型

linux 设备驱动模型(linux device model):usb转串口设备插入centos主机中,内核处理全过程,包括如果得到usb设备中的配置信息,如何为其找到并加载一个合适的驱动程序,直到最后为其在/dev/中创建一个设备名称。设备驱动模型的生成(即/sys下的结点生成等工作)是bus-level logic和其它的子系统(如usb核心子系统)的工作,驱动工程师不需要针对设备驱动模型函数编程。设备有个注册函数,比如usb设备,参考资料:linux device driver.

2020-10-29 13:12:54 217

原创 android apk获取system权限

普通的用eclipse编译出来的apk程序,是不具有system权限的。想要具备system权限,可以使用signapk方法。C:\Program Files\Java\jdk1.8.0_102\bin>java-jar signapk.jar platform.x509.pem platform.pk8D:\workspace\GeeRobot\bin\geerobot.apk D:

2017-04-05 16:14:55 805

原创 理解android和linux内核的关系

理解android:最初学习android的时候,在网上经常看到的对于android的解释,经常是这样一句:“android是基于linux内核的”。我自己当初对于这句话的理解是,“android是在linux源码上改编的,是一种Linux”,当然现在看来,这是不对的。要真正理解android和linux内核的关系,可以这样来看: 0: 烧录ubuntu镜像和android镜像和“

2017-04-03 12:50:01 4330

原创 ndis协议驱动开发

协议驱动的开发流程:首先,一个协议驱动调用函数ndisRegisterProtocol()先把自己注册为协议驱动,此举的意义告诉windows,我是一个ndis协议驱动,并将约定好的回调函数的列表告诉windows,这样以后当有与网络相关的事件发生时,windows会调用相应的回调函数,并且在参数中传入适当的信息,当然这些回调函数是我们要自己实现的。        NdisRegister

2015-10-17 10:48:12 4821

原创 IRP和IO_STACK_LOCATION

当一个应用程序调用函数去操作某个设备时,比如调用createFile,deviceIOControl,等等时,I/O管理器为此函数创建一个IRP数据结构对象和一个IRP_STACK_LOCATION数据结构对象数组。(数组个数等于驱动程序堆栈上驱动的个数)。IRP对象中的数据成员是已经被填充好了的,其中有一个CurrentLocation是当前IRP_STACK_LOCATION堆栈单元的索引

2013-07-12 22:07:29 3651 3

原创 正则表达式

http://baike.baidu.com/view/94238.htm/d 和 [0-9]有什么区别?

2010-12-26 23:17:00 358

原创 使用map文件找bug.

<br />转载文章, 以供后用.<br /> <br />对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进<br /><br />作者:上海伟功通信 roc<br />下载源代码<br /><br />读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助。欢迎各

2010-12-08 22:35:00 628

原创 oracle学习笔记

红字是问题. 绿字是当前进度.蓝字是重点.欲速则不达. 切勿急功近利!Introduction:How this book is structured

2010-12-05 13:58:00 777

原创 理解ATL

chaper 8  Advanced Class Composition Techniques

2010-11-02 21:22:00 487

原创 STL基础

1  It's important to realize that these templates are not class and member function definitions. Rather, they are instructions to the C++ compiler about how to generate class and member function definitions.  所以, 模板类是在编译时被替换的, 当编译时, 参数会替换成实际参数, 就像宏的处理一样.2 

2010-11-01 22:38:00 386

原创 unit test(UT)

要见多识广, 必须要走南闯北.  做软件开发的, 时间并不等于经验. 年头长不代表经验多.  自从进入了软件开发的行业, 五年来一直在同一家公司, 做着相对简单的工作, 虽然自己也算是勤奋好学, 但是并没有积累到太多的项目经验, 所以距离一个技术高手的路还太远.进入了大公司, 才发现自己有好多好多不懂事东西, 有好多自己没见过没听过的东西. 发现自己原来就是一只井底这蛙.在我跳到同方的那一段时间, 做一个很大的项目, 代码据说上百万行, 编码有非常严格的规范, 类与类之间的分工非常的明确, 什么样的操作应该

2010-10-31 22:31:00 810

原创 c++异常处理

1 为什么我们一直强调不能使用返回错误值的方法来代替异常处理?   看这个例子:   int add(int a, int b)   {        return a+b;   }   在这里, 我们无法用返回错误值的方法来表示错误. 因为我们无法分辨返回的值是正确计算的结果还是错误码.2  在判断new是否成功时, 我们究竟是用返回值为null来判断还是用std::bad_alloc异常来判断? 当new无法成功分配内存时, 它会即返回null又抛出std::bad_alloc吗? 如果是, 它是怎么做

2010-10-30 00:38:00 408

原创 创建frame/view

一 创建一个frame,连同view和menu.    区别于template的另一种我不知道的方法。void CReportSampleView::OnTestTasklist(){ //CFrameWnd* m_pTaskFrame; if (m_pTaskFrame) {  m_pTaskFrame->ActivateFrame();  return; } CCreateContext contextT; // if no context specified, generate one from th

2010-10-28 22:11:00 871

原创 MFC ATL 引发的思考

1 最近在做ATL,  始终不能理解ATL的实质,  掌握不了它的基本原理. 因为自己"掌握"了MFC, 它们同样是一套类库, 而MFC不但是一套类库, 更是一套Application Framework. 所以觉得理解ATL不应该是问题. 但是最后不但没有理解ATL, 反而发现自己根本就没有"掌握"MFC.比如MFC 与 windows sdk 之间的关系, 我只知道mfc包装了sdk, 但是究竟是怎么包装的,我根本不明白, 这也就是我不明白CWnd::FromHandle()的原因. 为什么这么多年来始

2010-10-27 23:31:00 1101

原创 debug与release区别

<br />   今天又遇到一个问题, 我的程序在debug下可以好好的跑, 但是在release却不能正常运行.<br />根本原因是: 如果你没有初始化一个变量, 在DEBUG下会被初始化成0xffffffff,  在release下会被初始化成0.<br />另外,debugview是一个非常好用的调试工具.<br />方法是在代码中加入outputdebug()函数.

2010-10-21 21:19:00 591

原创 重温MFC.

第五章: 浅出MFC 程序设计.1 AFXRES.H.    mfc程序的RC文件必须载入此文件. MFC对于标准资源(例如File, Edit等菜单项目)的ID都有默认值.定义于此文件中, 例如:   #define ID_FILE_NEW 0XE100

2010-10-01 00:57:00 713

原创 ATL Internals 笔记

书要慢慢读, 饭要慢慢吃.急什么? 越急越慢, 再急熄火...

2010-09-20 23:20:00 511

原创 在vc中使用组件的两种方法

当我们想要在vc中调用一个DLL文件所提供的组件的时候怎么办?假如我们想调用msxml4.dll中提供的组件来操作XML文件.那么首先要调用#import "msxml4.dll",  然后你就可以使用msxml4.dll中提供的组件了,比如说::CoInitialize(NULL);//初始化COM环境   一定要加   不要忘记!!!  MSXML2::IXMLDOMDocumentPtr pDoc; MSXML2::IXMLDOMElementPtr xmlRoot;    //创建DOMDocume

2010-09-11 15:58:00 1414

原创 com套间

简序  大学毕业前的最后一学期,在一家公司实习,当时的工作需要用到一些操作系统提供的组件。那时候只知道COM这个名词,并不知道到底是怎么回事,只知道上网到处找别人的源码解决自己的问题;那段日子到现在回忆起来都是灰色的,每天呆坐在电脑前,一个网站一个网站的查找自己需要的源码。但并不清楚自己到底在做什么;那时候对自己能不能成为一个程序员充满了怀疑。在实习结束返校的火车上,一夜间,我把一本《COM本质论》翻看了120多页。当我和当时的女友吹嘘自己一夜可以看100多页书的时候,她马上问我:看懂多少?当时我哑口无言。

2010-09-02 14:31:00 3045 5

原创 调试

1  release下也可以调试?.pdb,有时提示不正确。2 如何写正则表达式

2010-08-04 19:14:00 601

原创 工作日记3

<br />1 uml <br />   用例图:<br />             在需求分析阶段,用来描述系统的功能<br />   活动图:<br />             相当于流程图。<br />   时序图:<br />             描述函数调用关系。<br />2 c++异常处理与windows异常处理:<br /> <br /> <br />3 svn如何解决冲突?<br />    一定要用“edit conflict”手工解决完冲突。点击"conflict resolv

2010-07-23 17:27:00 394

原创 工作日记2

<br />1 vc 的.dsw和.dsp<br />   .dsp 是项目文件, .dsw是工程文件。<br />   在.dsp中包含各种项目信息,编译选项,链接选项,及vc工作界面左侧的文件树中的显示的文件名字等。 当你要把一个旧的工程改造成一个新工程的时候,需要编辑这个文件。<br />   .dsw是工程文件,一个工程,即workspace中可以包含几个项目文件,这样便于开发。那么在.dsw中就是记录该workspace包含的各个项目名称(.dsp名称)。<br />   当在一个workspac

2010-07-13 19:06:00 547

原创 windows内核安全编程笔记

<br />驱动程序,大多数都觉得它很神秘,很难懂,令人望而却步,其实这种感觉并不准确, 我们觉得一样东西神秘,只是因为不了解它而已. 世间万物都是reasonable的, 我们要做的只是找了它们实现的过程而已,并没有什么大不了的. 写序的人说,编写内核是件极其痛苦的事情 , 痛苦?我觉得因人而异, 不喜欢它的人会觉得相当的痛苦, 喜欢它的人会觉得是一种快乐. 虽然对于内核编程我并谈不上喜欢, 也谈不上厌烦, 毕竟这是我的专业,是我用以谋生的手段, 遇到了问题,一点点的解决, 人也跟着一步步的成长 ,痛苦只

2010-07-13 00:19:00 779 1

原创 工作日记

1 当在project->setting->c/c++->preprocessor->preprocessor definitions中加入_UNICODE后, 会提示以下错误:Linking...msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16Debug/prove.exe : fatal error LNK1120: 1 unresolved externalsError executing

2010-06-30 09:08:00 435

原创 vc调试

vc调试的方法: 正常的vc调试我们都会用, 但是当某些特殊情况下,我们拥有源代码,但是却无法进入调试状态的时候,我们可以使用另一种方法。比如说我目前所负责的EXE,

2010-06-25 17:46:00 531

原创 属性页

<br />如果想要做出属性页样子的程序,我们有两种方法:一、控件的介绍MFC中封装了许多有用的类,CTabCtrl和CPropertySheet是其中两个比较常用的类型。CTabCtrl即Tab控件对应的类,Windows应用程序中大量使用了Tab控件。属性页对应的是CPropertySheet,你在桌面上右键鼠标弹出的显示对话框就是一个CPropertySheet类型的对象。事实上这类弹出的、类似“属性页”的窗口大部分都是CPropertySheet。其实,这两个类之间也有着很密切的联系。使用Spy++

2010-06-22 15:45:00 1872

原创 COM的几个问题

1 DLL是否可以跨语言?   可以. VB可以调用使用vc编译的DLL中的函数.   但是具体方法我还不知道.2 ActiveX控件与ATL. COM之间的关系:3 理解COM与DLL之间的关系.   可以这样理解:  DLL是一个动态链接库.  COM则是一种特殊的制作DLL的方法.   比如说, DLL是一部手机, 我们可以做出很多的手机, 它们都能够用来打电话, 但是有一些问题,比如说不同种类的手机, 它们的充电器接口不一样,不能通用. 这点很不方便, 如果我们规定, 所有的手机厂商都必须按照同样的

2010-06-11 22:39:00 516

原创 DLL类型

1 MFC类库。    MFC 类库是在DLL中实现的。当我们在编写一个EXE时,在向导中会要求我们选择“MFC的使用方式”,一种是“在共享DLL中使用MFC”, 一种是“在静态库中使用MFC”,一种是“使用标准windows库”.  "在共享DLL中使用MFC"是指该EXE调用MFC函数时,要到系统的MFC DLL中去找代码。“在静态库中使用MFC”是指当EXE需要MFC代码时,该代码就在EXE中。“使用标准windows库”是指不使用MFC。当我们在写一个DLL时,有两大类。一是纯win32 DLL.

2010-05-31 23:27:00 1629

原创 dll用法

1 导出一个类,定义  class AFX_EXT_CLASS   WSWrapper   在调用该dll的exe中,包含一个该类的.h文件(加不加dllimport都可以,它在obj中找不到的话自然就去lib中找了)。然后直接生成该类对象就可以了。另外,要加入相应的lib 2 导出一个类。exe也可以用loadLibrary()来做。只是在DLL中要加入一个createObject(

2010-05-28 15:45:00 523

原创 编写DLL

动态链接库 问题:1 为什么有的类型的DLL中没有.h?2 非mfc的DLL是否可以导出类? 在Windows 应用程序中使用动态链接库有很多的好处。最主要的一点说是它可以使得多个应用程序共享一段代码,从而可以大幅度的降低应用程序的资源开销,同时很缩小了应用程序的最终执行代码的大小。此外,通过使用动态链接库,我们可以把一些常规的例程独立出来,有效的避免了不必要的重复开发,并

2010-05-26 22:02:00 306

原创 字符集

unicode 多字节字符集 string wstring MultiByteToWideChar 顺序:1 一个常量字符串如何放到一个cstring中, CString name;// name.Format(_T("%s"), _T("china")); name.Format(_T("%s"), "china"); “china”在内存中存放的方式与项目属性中的“字符

2010-05-20 18:43:00 503

原创 工作日志

1 获取本机MAC地址的方法    其中有一个管道的方法。还应该有底层一些的方法。例如deviceIOcontrol(); 2 获取局域网中其它机器MAC地址的方法     sendArp()函数3 winpcap发包。4 操作注册表管理桌面图标5 控制屏幕保护程序。第一:写注册表的方法,需要重启计算机  第二:调用系统对话框的方法,ShellExecute(N

2010-04-30 13:32:00 387

原创 IActiveDesktop

IActiveDesktop Interface--------------------------------------------------------------------------------Allows a client program to manage the desktop items and wallpaper on a local computer. I

2010-04-28 17:39:00 566

原创 文件系统过滤驱动

1 文件系统过滤驱动工作原理  Windows NT内核操作系统的驱动模型采用分层结构,如图1所示。图中左边是一个设备对象栈,设备对象是操作系统为帮助软件管理硬件而创建的数据结构。每个硬件至少包含一个物理设备对象(PDO)和功能设备对象(FDO),它们中间会存在一些过滤设备对象(FiDO)。驱动程序对象包含了一组处理I/O请求的例程。分层结构使I/O的请求过程更加清晰明,影响到设备的每个操

2010-04-24 22:45:00 2792 1

原创 CListCtrl用法

1 The CListCtrl class encapsulates the functionality of a “list view control,” which displays a collection of items each consisting of an icon (from an image list) and a label. In addition to an ico

2010-04-24 11:27:00 494

原创 数据转换问题

以前使用vc6的时候,messagebox("vc6")可以执行,但是用2005时候必须是这样messagebox(_T("2005")),为什么?这个问题与使用vc6还是2005无关,跟是否使用unicode有关。即在创建工程时,是否选择了使用unicode._T宏指定字符串中的一个字符是一个字节还是两个字节。即使你选择了unicode,系统也不会自动为你存为两个字节。你也要指定。如

2010-04-22 10:30:00 1646 1

原创 winpcap与socket区别

1 winpcap 和socket都有send()函数,它们的区别是: winpcap发送时填充的数据包是整个IP包,包括mac, ip, data等等全部的数据。 socket 发送时填充的数据包只是IP段以后的数据, 即用户数据,它不能指定mac。 2 可以全胜sendarp(destionip, sourceip,....)就可以获取到了已经IP机器的MAC地址了。

2010-04-21 10:42:00 4401 1

原创 oracle学习笔记

  数据库知识一直以来是我从来没有好好的研究过的东西, 然而事实上它却是应用的最普遍的知识. 一个做了五年的程序员竟然对数据库知识几乎一无所知, 真的是不太应该. 以前对于数据库的知识始终有一些误解, 认为数据库是非常困难的,尤其是oracle. 其实这都是错觉, 经过了一天的学习, 查资料发现,其实对于一个程序员来说,oracle 并没有想像中那么可怕. 首先对使用oracle的人进行分类,

2010-04-12 22:29:00 2620 1

原创 net programming for microsoft windows 读书笔记

>socket modes 和socket I/O models .  socket modes (每一个socket对象自己所具备的特性 ):As we mentioned, Windows sockets perform I/O operations in two socket operating modes: blockin

2010-04-03 11:16:00 813

原创 TCP/IP第一卷读书笔记

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0 2

2010-04-02 23:05:00 2274

vckbase杨老师com讲义及源码

vckbase杨老师com讲义及源码,vckbase杨老师com讲义及源码。

2011-08-31

深入浅出Oracle:DBA入门、进阶与诊断案例

深入浅出Oracle:DBA入门、进阶与诊断案例

2011-04-05

ATL问答集(英文版)

ATL问答集(英文版) ATL问答集(英文版)

2010-09-18

ATL 简明教程(英文版)

ATL 简明教程(英文版) ATL 简明教程(英文版)

2010-09-18

ATLInternal.chm(英文版)

ATLInternal.chm(英文版) ATLInternal.chm(英文版)

2010-09-18

InsideAtl.chm(英文版)

InsideAtl.chm(英文版) InsideAtl.chm(英文版)

2010-09-18

程序调试思想与实践.pdf

程序调试思想与实践.pdf程序调试思想与实践.pdf

2010-09-08

Head First Design Patterns (英文高清版) _part2.rar

Head First Design Patterns (英文高清版) _part2.rar

2010-09-08

Pages from Head First Design Patterns (英文高清版)_part1.rar

Pages from Head First Design Patterns (英文高清版)_part1.rar

2010-09-08

Writing Clean Code

Writing Clean Code. make your code better.

2010-09-08

Programming in C++, Rules and Recommendations.htm

Programming in C++, Rules and Recommendations.htm

2010-09-08

The C++ Programming Language (Third Edition).rar

The C++ Programming Language (Third Edition).rar

2010-09-08

极品五笔输入法ddddddd

极品五笔输入法极品五笔输入法极品五笔输入法极品五笔输入法

2010-06-22

NDIS网络驱动程序(楚狂人)

NDIS网络驱动程序(楚狂人)NDIS网络驱动程序(楚狂人)

2010-04-30

windows 2000设备驱动程序设计指南

windows 2000设备驱动程序设计指南

2010-04-30

WindowsNTFileSystemInternals(文件系统过滤驱动开发英文版)

WindowsNTFileSystemInternals(文件系统过滤驱动开发英文版)

2010-04-24

Windows文件系统过滤驱动开发教程(第二版).pdf

Windows文件系统过滤驱动开发教程(第二版).pdf

2010-04-24

c++设计模式(中文)

c++设计模式(中文).了解设计模式,可以使你的编程更加高效和稳定.

2010-03-04

vc++入门(里面的插图不太清楚,但是不影响阅读)

vc++入门(里面的插图不太清楚,但是不影响阅读)

2010-01-28

visual c++经验与技巧

visual c++经验与技巧。包含的内容非常全面,基本涵盖vc的每一个话题。

2010-01-27

用vc开发ActiveX控件(英文)

用vc开发ActiveX控件(英文)。我自己也没看过,估计是比较实践性的。

2010-01-27

com原理与应用 潘爱民

com原理与应用 潘爱民 我还没看呢,不过估计挺好的

2010-01-23

usb 中文协议。。。

usb 中文协议usb 中文协议usb 中文协议

2009-12-27

windows95 a developer's guide(中文版)

windows95 a developer's guide(中文版)

2009-12-27

debugging application(英文版)

debugging application(英文版)

2009-12-27

inside windows 2000 third edition(英文版)

inside windows 2000 third edition(英文版)

2009-12-27

windows internals fourth edition(英文版) by solomon

windows internals(英文版) by solomon. 讲解操作系统。

2009-12-27

c++ standard lib(英文版)

c++ standard lib(英文版)。。。。。。。。。。。介绍stl.

2009-12-27

c++ 标准程序库(中文版)

c++ 标准程序库(中文版)。详细讲述STL.

2009-12-27

programming windows with MFC(英文版)

是基本与inside vc++同名的又一本MFC著作。系统的讲述MFC。

2009-12-27

串口调试助手及usb转串口驱动程序

usb转串口的驱动一共是两个,如果你的通信两端都是用USB口来模拟串口的.那这两个驱动你都要安装,安装过程有一些麻烦.在"设备管理器"里右击你的两个设备,选择"更新驱动程序".

2009-12-15

com技术内幕(中文)

com 本质论这本书的头两章透彻的阐述了COM的来源.学习COM的最有效方法,先读懂COM本质论一书的头两章,然后读COM技术内幕.读完后再回头从COM本质论第三章接着读.

2009-12-13

more effective c++(中文版 侯捷译)

more effective c++(中文版 侯捷译).迅速提高C++水平.

2009-12-13

STL 源码剖析(侯捷)

STL 源码剖析(侯捷),彻底理解stl实现.

2009-12-13

thinking in c++(英文版)

thinking in c++(英文版).

2009-12-13

c++设计新思维(泛型编程与设计模式之应用)

台湾著名译作者,我最喜欢的侯捷先生的译口.c++ 世界级大师scott meyers(effective c++作者)作序.虽然我还没看,但只要看到阵容,我就知道这一定是本精品.

2009-12-13

高质量c\c++编程

高质量c\c++编程.锻炼你的编程风格.很多公司将它后面的试题直接拿来做为面试题.

2009-12-13

inside vc++(windows技术内幕第五版英文版)

vc++编程圣经.vc++程序员必备书籍.详细讲解vc++的方方面面.

2009-12-13

IrpTrace&&DbgView&keygen.rar

驱动程序开发者必备工具..可以捕捉驱动程序的IRP包.

2009-12-13

tcpip 协议卷二(英文版)

tcpip 协议卷二(英文版).在看完卷一的原理后,可以看这本去理解如何实现TCPIP协议.

2009-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除