windows内核开发(一)环境搭建

         因为大部分 Windows驱动程序都是内核程序,所以这个总结,不区分“驱动编程”与“内核编程” 。同时,也不区分“内核模块”与“驱动程序” 。这两个词汇编译出的.sys 可执行文件。专注于较通用的内核程序的开发,并不介绍针对某种类硬件的,比如声卡、显卡、USB 等的等各种驱动程序的开发。
        参考资料:
       《寒江独钓:Windows内核编程与信息安全》
      《天书夜读-从汇编语言到Windows内核编程》
       《竹林蹊径:深入浅出Windows驱动开发》
       《Windows驱动开发技术详解》
        郁金香驱动视频教程

环境配置:
1、安装Visual Studio 2008
2、win7-32位系统(64位的据说不适合内核编程,xp的话,资料比较多,我习惯用win7了)
3、安装VC助手(Visual Assist X),功能强大,找个破解版就好了
4、安装windows驱动开发包 WDK,xp系统的话就是DDK了
有些读者可能听说过 DDK 或者 IFSDDK。但是那已经是历史了,下 面的描述也可能成为历史,所以请读者进入网页后灵机应变。  首先请打开网页: 
这个网页必须首先登录。可以用msn帐号,请点击那个红色圈圈住的“查看所有站点” 。 下面就比较简单了,左边会显示类别。类别中请选择“开发人员工具” 。 如果没有,可以去免费注册一个。
WDK已经自带所有的需要的头文件、库、C/C++语言以及汇编语言的编译器与连接器。所以完全可以在不安装Visual Studio 的情况下进行编程。
安装过程没有什么需要特别注意的地方,只有两点: 
(a) 安装到一个简单一点的路径,避免特殊情况需要配置路  C:\WinDDK。 
(b) 一定要选择“完全安装” 。否则可能错过一些代码例子。 

配置好环境,来测试一下:
文件1:first.txt

//first.c
#include <ntddk.h>
// 提供一个Unload函数只是为了动态卸载,方便调试
VOID DriverUnload(PDRIVER_OBJECT driver)
{
// 只打印一句话:
DbgPrint("first: Our driver is unloading…\r\n");
}

// DriverEntry,入口函数。相当于main。
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
DbgPrint("first: Hello, windows driver!");
// 设置一个卸载函数便于这个函数能退出。
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}


文件2:makefile,这个文件内容不能改变

!IF 0

Copyright (C) Microsoft Corporation, 1999 - 2002

Module Name:

    makefile.

Notes:

    DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source
    file to this component.  This file merely indirects to the real make file
    that is shared by all the components of Windows NT (DDK)

!ENDIF

!INCLUDE $(NTMAKEENV)\makefile.def


文件3:sources

TARGETNAME=first
TARGETTYPE=DRIVER
SOURCES=first.c


说明:
其中 TARGETNAME 是名字。编译出来之后,模块的名字为 first.sys。SOURCES 表 示要编译的.c 文件。 (对于初学者,必须提醒一点不要加入.h 文件。因为.h 是被包含在.c 文件中编译的。 )如果.c文件有多个,请用空格分隔。 在win7环境下,source文件中有 TARGETPATH=obj有时候会出错 ,不知道什么原因
windows内核开发(一)环境搭建 - 龙行天下 - 少年情
 选择x86 checked···跟debug差不多意思
这样的结果是出现一个控制台。这个控制台已经配置好编译环境。现在请不断的输入cd 命令来进入我们先建立的 first 目录。进入之后,敲入 build。作者本人这里测试的结果如下:
windows内核开发(一)环境搭建 - 龙行天下 - 少年情
 
第一回完。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值