zoukankan      html  css  js  c++  java
  • VC6.0+WDK7600编译开发配置环境

    1.安装好VC6和DWK,先后顺序无关。
        从开始菜单找到WDK的程序目录,进入“Windows XP Checked Build Environment”,输入命令"build",此时WDK将会把自己进行编译,大约需要1分钟。

    2.VC6设置Include/Lib/Executable目录。
        设置为自己需要编译的平台的各个目录即可, Include要确保找到ntddk.h等,Lib与Include对应,Executable 要确保能找到cl.exe
    例如XP平台下设置为:

    include包含部分:

    C:\WinDDK\7600.16385.1\inc\ddk
    C:\WinDDK\7600.16385.1\inc\api
    C:\WinDDK\7600.16385.1\inc\crt


    lib连接库包含部分:

    C:\WINDDK\7600.16385.1\LIB\WXP\I386
    C:\WINDDK\7600.16385.1\LIB\WIN7\I386


    执行文件包含:

    C:\WINDDK\7600.16385.1\BIN
    C:\WINDDK\7600.16385.1\BIN\X86
    C:\WinDDK\7600.16385.1\bin\x86\x86

    对于VC原有的路径,Include 和 Lib建议都删除掉,而Executable则将你新加的置顶,顺序不能错。其余建议保留(虽然编译驱动不会使用VC的Bin目录下的ml.exe、link.exe 等,但vc的代码提示等功能是需要bin目录下的一些程序来完成的,因此还是至少要保留VC原有的Bin目录,但必须在DDK的之后)。

    3.建立一个空工程,Exe或者Dll都可以,然后直接修改工程属性:

    要改的地方不少,描述各个选项还不如直接记录个文本的,清空C/C++和Link下面的Option文本框,按下面的填写。

    C/C++ 选项填写:
    /nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /c

    LINK 选项填写:
        NT式驱动为
    ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078

        WDM式驱动为

    wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"SYS_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"SYS_Check/HelloWDM.sys" /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078 

    4.保存配置,现在给这个空工程建一个c文件,复制以下内容:

    #include <ntddk.h>
    NTSTATUS DriverEntry(
            IN PDRIVER_OBJECT DriverObject,
            IN PUNICODE_STRING RegistryPath
            )
    {
            NTSTATUS status = STATUS_UNSUCCESSFUL;
            return status;
    }   

    编译通过则配置成功!!!

  • 相关阅读:
    递归函数底层原理浅析
    lambda expression & mutable
    命令mv
    printf的参数
    程序结构之静态本地变量
    汇编.align指令
    程序结构之全局变量
    命令touch
    更改gcc默认版本,实现gcc版本升降级
    命令chmod
  • 原文地址:https://www.cnblogs.com/guanlaiy/p/2597807.html
Copyright © 2011-2022 走看看