当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>文件系统驱动编程底子篇之1——我们的预备</b>[VC/C++编程]

赞助商链接



  本文“<b>文件系统驱动编程底子篇之1——我们的预备</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、导言

在四个月冗长的征战后,终于在国庆节的本日完成了底子篇系列.本文写作的初衷很简单,就是给安静的池水中加入一点波澜,假如大家在阅读后感遭到一点气愤,激起摸索未知的热忱,笔者也会感到由衷的喜悦.

本系列文章为业余编程爱好者而写,仅仅作为初学者的一个鉴戒,真正的精华存在于参考资料*中.知识的堆集将阅历从薄到厚,再从厚到薄的反复历程,为了打下巩固的底子,请读者务必在阅读本文的底子上耗费必要的时间完成参考资料.

2、基本架构

为了保证性能,汇编与c成为操作系统编写的首选语言,Windows家族的前辈都不例外,唯独Vista那宏大的身躯,让人不由迷惑微软毕竟若何才能诞下比恐龙还大的怪物.与此相反,WinPE作为保护型操作系统可以被一个32M的U盘所包容.不管外观上的诸多差别,功效上的强弱辨别,我们所关心的是它们的共性——即操作系统的内核.与操作系统密不可分的文件系统,就成为我们研究内核的一条途径.

Windows采取了基于对象模子(object-based model)的计划方法,各功效划分为差别的组件,两幅常见的架构图以下:

我们把进口选定为Win32子系统(Win32 Subsystem),它是我们接触最多,也最熟习的一个子系统.硬件抽象层(HAL)及其以下部份目前不在我们关注的核心内,我们将精神集合在系统履行层和核心层,它们具体的功效请参看资料2的第一章.

内核情势下除了屈指可数的几个函数,一切都将是全新的——全新的思惟、概念、模子、构造、函数,超越的幅度不亚于从c语言编程迁移到c++语言,用c语言的思维来学习c++必定会产生阻碍.令人欣喜的是,这里没有特点之流的术语,绝大部份内容都符合人的记忆规律.你将很快掌握设备对象、IRP、IO仓库等底子构造,同时你还发现从前很难记忆的PEB、TEB、_ETHREAD等一系列无具体文档乃至无文档构造都已有迹可寻,假如你充足勤奋,乃至会在一年左右的时间后便可以阅读天书般的防火墙源码.

让我们先来完成必要的预备工作吧.

3、调试环境的构建

在用户情势下编程,除了编译器几近可以不需求其他帮助工具.想查看输出?直接ShowMessage便可,内核情势下,假如不但愿摔得筋折骨断后才有所觉悟,你该在入门前就选好几件宝贝——注意它既不是闻西同志的西瓜刀,更不是单车链.

Microsoft Visual Studio 200x + Windows IFS Kit and DDK xxx + Compuware DriverStudio 3.x + VAssistX xxx + VMware

假如记忆力超强的读者,也可以挑选C++Builder、Delphi + 插件的情势,有些站点正在努力于奉行这方面的技术,关于新手而言,还是用原装货为上策.Windows IFS Kit and DDK是收费软件,电驴上有试用版,按照资料6的阐明完成安装,注意选上xp和2000部份;Compuware公司已经转业不做DriverStudio,好在出家前支持了vs2005,安装完成后,按照资料5打上VisualStudio 2005 Integration fix补钉;VAssistX有试用限制,不巧有人发现不改正代码而利用trial-reset_32清Armadillo壳,可以恢复试用时间,安全而坚固.VassistX加强了编译器的语法提醒、代码搜索功效,大大提高了千行规模子程序的阅读与书写效率.VMware虚拟机用于削减重启的懊恼,提高调试的效率.

经过一阵繁忙后,一个已经设置好的编译器呈现了:


  以上是“<b>文件系统驱动编程底子篇之1——我们的预备</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .