• VS2015配置内核WDK7600环境,32位下.


               VS2015配置内核WDK7600环境,32位下.

    学习内核驱动的编写,就要会配置环境.不然总是用记事本编写.比较不方便.

    环境配置如下.

    1.首先下载WDK7600, 课堂资料代码中已经上传.链接:https://pan.baidu.com/s/1o9PjpUU 密码:k5sp

    2.VS2015下载. 这个网络上有很多.自己选择一个下载即可. PS: VS2013配置一样可以. 配置好了导出模版.然后也可以给VS2015使用.

    一丶环境配置

    1.打开VS2015,新建空项目

    中文: 文件 -> 新建 -> 常规 -> 空项目

    2.添加新文件,后缀为.cpp

    打开解决方案视图

    源文件 -> 添加新建项(Ctrl + shift + a)

    3.修改配置属性

    项目 -> 属性 -> 常规

    ALT + F7(直接这个按键也可以).

    修改:

      项目 -> 属性 -> 常规 ->目标文件扩展名为.sys

    4.修改配置管理器,添加配置管理

    生成 -> 配置管理器

    名字可以随便取

    5.配置WDK的环境变量

    配置环境变量

    计算机- >属性 -> 高级系统设置 ->高级->环境变量->系统变量->path路径

    然后将我们的WDK的根目录拷贝进来即可.

    例如我的是:

      D:WinDDK7600.16385.1

    6.配置文件目录以及库目录

    项目->属性

    或者快捷键 ALT+F7

    配置:

      项目->属性->VC++目录

    可执行的配置路径:

        配好我们的环境变量了,那么配置我们的XP即可.

     例如我的是:

        D:WinDDK7600.16385.1inx86x86

    包含目录的配置路径:

        总共三个路径需要配置,都是inc下的路径

        1.D:WinDDK7600.16385.1incddk    

        2.D:WinDDK7600.16385.1incapi

        3.D:WinDDK7600.16385.1inccrt

    引用目录的配置路径:

         也是三个,很简单.都是lib下的.

        1.D:WinDDK7600.16385.1libATLi386

        2.D:WinDDK7600.16385.1libCrti386

        3.D:WinDDK7600.16385.1libwxpi386

    库目录的配置路径:

         库目录的配置路径就是把我们的WDK的lib库设置一下即可.

        1.D:WinDDK7600.16385.1libwxpi386

    7.设置优化选项

      

    项目->属性

    或者快捷键 ALT+F7

    配置:

      项目 -> 属性 -> C/C++ ->优化

    设置如下.

    8.设置预处理器

    项目 -> 属性

    配置属性:

      项目 -> 属性->C/C++ -> 预处理器

    设置为下面的命令:

      _X86_;_DDK_;_WIN32_WINNT=0x0501;WINVER=0x0501;_DEBUG;DBG=1

    9.禁止安全检查

    项目 -> 属性

    配置属性:

      项目->属性->C/C++->代码生成 -> 安全检查.

    设置为禁止安全检查即可.

    10.修改调用约定

    修改我们的调用约定为STDCALL

    项目->属性

    配置属性:

      项目->属性->C/C++->高级->调用约定

    11.修改连接器配置中的依赖选项和忽略所有默认库

    修改连接器中的附加依赖选项,和忽略所有默认库

    项目->属性

    配置属性:

      项目->属性->连接器->输入->附加依赖选项

      项目->属性->连接器->忽略所有库

    附加依赖选项修改为:

          ntoskrnl.lib;ndis.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib

     

    12.修改连接器配置中的清单文件

    项目->属性

    配置属性:

      项目->属性->连接器->清单文件->生成清单.

    13.修改连接器配置中的调试信息

    项目->配置

    配置属性:

      项目->配置->连接器->调试

    箭头所指的地方,如果是VS2013,改为是即可.

    14.修改连接器配置中的系统属性

     项目->属性

    配置属性:

      项目->属性->连接器->系统->驱动程序

    15.修改连接器配置中的入口点

    项目->属性

    配置属性:

      项目->属性->连接器->高级

    这里要设置入口点以及随机基址

    入口点设置为内核驱动入口点

    DriverEntry

    注意:

      随机基址,和数据执行保护都要为空

    对比连接器所有选项设置

     

    注意子系统需要设置一下




    16.将我们的CPP文件.或者.c文件设置为驱动代码.编译看看是否可以生成.

    此时我们都已经配置完毕,我们拷贝一个驱动代码进来.看看是否能生成

    如果可以生成,那么配置没有错误.可以导出为模版,然后只要建立驱动程序就可以使用这个模版了.

     

    成功生成,可以导出为模版文件了.

    17.生成模版文件使用

    文件->导出模版->项目模版

    下一步进行操作

    模版名称可以修改

    注意模版路径,如果你有更好的模版路径,则可以输出到这个路径. 那么VS2015就可以使用这个模版了.

    完成即可.

     进入我们的路径,则可以看到我们的模版文件了.

    18使用模版,创建一个WDK内核驱动程序

    现在我们可以关闭我们的VS2015,重新打开则可以创建一个内核驱动了.

    文件->新建->项目->Visual C++

    此时已经有我们的模版了.创建了.然后生成一下看看是否成功

    可以正常运行,但是注意一下.我们要选择我们自己配置的生成.

    不能选择Debug或者Release编译.

    原创不易,转载请注明出处.如果对你有用.下方请评论.支持一下.

  • 相关阅读:
    CentOS 6.5 安装 VNC Server
    vs2008出错
    MySQL 尽量避免使用 TIMESTAMP
    excel中生成32位随机id
    库存扣减和锁
    精通 MySQL 索引
    Java代码性能优化
    RocketMQ 消息丢失场景分析及如何解决
    Java 8 的内存结构
    Spring Boot + MyBatis + MySQL 实现读写分离
  • 原文地址:https://www.cnblogs.com/iBinary/p/8290595.html
Copyright © 2020-2023  润新知