`
my201my
  • 浏览: 9325 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

第一章 WINDOWS程序架构及开发

 
阅读更多

第一章 WINDOWS程序架构及开发
2010年07月27日
  和别人不同,我写博客不是为了展示自己,而是为了记录自己的这段时间所做的事情及所思所想。我发现有时候完全凭记忆是不可靠的,往往自己记住不该记住的,忘记了不该忘记的。每个人都有自己的心路,我的回忆只写给自己看!所以如果如果有人路过或者不小心搜索到了,就当没看见吧。也可能就没人关注,那就相安无事了。
  
  
  1.1开发环境准备
  开发之前的准备工作,包括开发环境准备、预备知识。对于开发WDM驱动程序来说,我们有以下三个常用组合:
  1).直接使用Windows DDK
  2).使用DriverStudio
  3).使用Windriver
  下面我们分别比较三种方式的优缺点。
  第一种:开发难度大一些,而且有很多烦琐的工作要作,大部分都是通用的基础性的工作。但如果选用这种方式的话你将对整个体系结构会有很好的理解和把握。
  第二种:难度低一些,工具软件已经帮你作了很多基础性的工作。也封装了一些细节,你只要专心去作你需要的操作,但由于封装的问题,可能会带来一些bug。有可能导致项目的失败。
  第三种:几乎没有难度(从开发驱动的角度)。很容易,但只能开发硬件相关的驱动,事实上你写的只是定制和调用它提供的通用驱动而已。效率上有问题。工作频率不是很高。但开发花费的时间很少。是上面的几乃至几十分之一。 
  建议: 
  用windriver作驱动程序的原型,用driverstudio作最终发行的驱动程序,如果驱动程序很复杂的话,建议直接使用ddk开发。 
  上面的几种情况都需要vc++作为辅助开发环境。(ddk也可以直接用命令行工具,但比较烦),前两种情况都需要ddk。开发时间上,第一种最长,第三种最短,第二种可以认为是前面两种方案的折衷。    
  如果更具体一点的话,我们可以把以上三种形式比作三种开发工具,那就是 ms c,vc++,Vb。
  如果SDK没bug的话,用ms c开发的纯sdk程序的bug是最少的。Vc++由于对sdk进行了封装,必然会引出一些新的bug。Vb开发程序虽然快了一些,但运行效率比前两种方式差了很多。
分享到:
评论

相关推荐

    Windows2000 服务器端应用程序开发设计指南

    08-06-13 WSAAsyncSelect网络编程框架 08-06-13 overlapped重叠IO模型网络编程框架 08-06-13 采用C++的ACE库实现的一个通用的C/S架构通信程序 08-06-13 ACE应用-第1章 应用模式语言开发应用级网关 08-06-13 ACE应用-...

    Windows程序设计(第2版)王艳_源代码

    书籍目录: 第1章 Windows程序设计基础   1.1 必须了解的内容   1.2 VC++的基本使用  1.3 本书推荐的编程环境  1.4 代码的风格  第2章 Win32程序运行原理   2.1 CPU的保护模式和Windows系统  2.2 ...

    windows 程序设计

    在Windows中,API还意味着一个特殊的程序架构,我们将在每章的开头进行研究。 一般而言,Windows API自Windows 1.0以来一直保持一致,没什么重大改变。具有Windows 98程序写作经验的Windows程序写作者会对Windows ...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    第一章 开始 l.1 windows环境 1.1.1 windows 简史 1.1.2 windows方面 1.1.3 动态链接 1.2 windows编程选项 1.2. 1 api和内存模式 1.2.2 语言选项 l.2. 3 编程环境 1.2.4 api文档 1.3 编写...

    Windows驱动开发技术详解(pdf书+源代码).part1

    1.2 第一个驱动程序HelloDDK的代码分析 1.2.1 HelloDDK的头文件 1.2.2 HelloDDK的入口函数 1.2.3 创建设备例程 1.2.4 卸载驱动例程 1.2.5 默认派遣例程 1.3 HelloDDK的编译和安装 1.3.1 用DDK环境编译...

    MFC Windows程序设计(第2版修订版)--源代码

     《mfc windows程序设计(第2版)》是对其极为经典的第1版的全面更新,本书不仅扩展了已被认为是权威的关于microsoft用于windows api的功能强大的c++类库的阐述,还新增了有关com、ole和activex的内容。本书的作者...

    visual c++ 开发windows应用程序实例

    第一章Visual C++简介 第二章 面向对象编程与C++语言 第三章 Win32应用程序设计 第四章 基于对话框的应用程序 第五章 响应用户命令 第六章 使用Windows标准控件 第七章 使用ActiveX控件 第八章 文档/视结构 ...

    Windows程序设计(第五版)

    第三,您应该在机器上安装一个适于进行Windows程序设计的32位C语言编译器和开发环境。在本书中,假定您正在使用Microsoft Visual C++ 6.0,该软件包可独立购买,也可作为Visual Studio 6.0软件包的一部分购买。 到...

    MFC Windows程序设计(第二版) 源代码 任哲编著 [评价可免费]

    本书内容丰富、结构合理、重点突出、注重应用、兼顾说理性和实用性、文字通俗易懂,以适当的方法加强了对MFC重点技术核心内容的介绍,使读者可以在有限的文字篇幅情况下获得尽可能大的信息量,适合作为普通高等院校...

    windows驱动开发技术详解-part2

     本章首先对Windows驱动程序的两个重要数据结构进行介绍,分别是驱动对象和设备对象数据结构。另 外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。  4.1 Windows驱动程序中重要的...

    windows 程序设计中文教程.chm(wcb2003)

    第三,您应该在机器上安装一个适于进行Windows程序设计的32位C语言编译器和开发环境。在本书中,假定您正在使用Microsoft Visual C++ 6.0,该软件包可独立购买,也可作为Visual Studio 6.0软件包的一部分购买。 到...

    Windows驱动开发基础视频教程.txt

    第一课 认识windows驱动 第二课 在虚拟机里安装windows操作系统 第三课 windows操作系统基本概念 第四课 操作系统的分层结构 第2章windowsw驱动编译环境配置、安装及调试 第五课 安装驱动开发环境 第六课 安装...

    精通Windows Sockets网络开发:基于Visual C++实现-带源码

    第3章windows sockets基础 3.1windows sockets 3.1.1应用程序与windows sockets的关系 3.1.2套接字 3.2协议特征 3.2.1面向连接与面向无连接 3.2.2可靠性与次序性 3.2.3面向消息 3.2.4部分消息 3.2.5从容关闭 3.2.6...

    Windows CE嵌入式操作系统原理

    第一章 嵌入式系统概述 第二章 WinCE系统结构 第三章 模型、进程和线程 第四章 内存管理 第五章 存储管理 第六章 设备管理 第七章 用户界面与图形子系统 第八章 应用程序设计 第九章 Windows CE 5.0简介 第十章 ...

    windows程序设计第五版 chm 版本

    …………………… 编写第一个WINDOWS程序 2.Unicode简介 …………………… 字符集简史 …………………… 宽字符和C …………………… 宽字符和WINDOWS 3. 窗口和消息 …………………… 自己的窗口 ……...

    Windows驱动开发技术详解的光盘-part1

     1.2 第一个驱动程序HelloDDK的代码分析  1.2.1 HelloDDK的头文件  1.2.2 HelloDDK的入口函数  1.2.3 创建设备例程  1.2.4 卸载驱动例程  1.2.5 默认派遣例程  1.3 HelloDDK的编译和安装  1.3.1 用...

    VC++面向对象与可视化程序设计(黄维通)

    第一章 C++基础知识 第二章 VC++6.0开发环境 第三章 windows编程基础 第四章 windows的图形设备接口与windows绘图 第五章 文本输出方法与字体设置 第六章 windows应用程序对鼠标和键盘的响应 第七章 资源在windows...

    [MFC.Windows程序设计(第2版)修订版].(Programming.Windows.with.MFC,.2nd.Edition)

     《MFC Windows程序设计(第2版)》是对其极为经典的第1版的全面更新,本书不仅扩展了已被认为是权威的关于Microsoft用于Windows API的功能强大的C++类库的阐述,还新增了有关COM、OLE和ActiveX的内容。本书的作者...

    C#(程序开发)范例宝典 第一部分

    全书分为20章,内容包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统、操作系统与Windows相关程序、注册表、数据库技术、SQL查询相关技术、报表与打印技术、图表技术、硬件相关开发技术、...

Global site tag (gtag.js) - Google Analytics