zoukankan      html  css  js  c++  java
  • 使用EasySYS搭建驱动开发基本框架

    提供EasySYS的下载地址:http://bbs.pediy.com/showthread.php?p=956643,看雪上有提供下载,自行百度。

    EasySYS你能够帮我们快速的搭建驱动的开发框架,省去了我们写基本框架代码的时间,但是我个人不太喜欢用它来搭建驱动开发框架,感觉里面的代码风格不喜欢,不少代码得删去。

    在使用EasySYS之前,一定要确保你的系统安装了微软驱动开发包DDK或者新版的WDK,没有安装的自行下载安装。

    EasySYS的使用界面:


    注:所使用的开发包,最终还是有编译IDE的命令行参数决定的。

    根据自己的驱动开发需求,在EasySYS的界面上设置好各选项,然后点击右下角的Create按钮,生成驱动工程,我这里是HelloDDK,如图:


    驱动工程创建成功以后,会出现下图:


    EasySYS的界面上,我设置的是驱动编码IDE是VC6.0,因此将工程加载到VC6.0中打开,如图:


    用VC6.0打开驱动工程HelloDDK以后,点击编译,VC6.0编译器却很实在的提示一个错误,现在让我们来看看错误的提示:

    注:为了便于截图,我将提示的错误信息拷贝到Editplus中查看。


    根据前面的EasySYS的界面选项的设置,我们要编译生成的驱动的类型为XP的X86平台.因此这里我们可以选择的有两个:

    -WXP       | XP         | x86     | %WXPBASE%      | -XP 

    或者

    -WLHXP     | XP          | x86     | %WLHBASE%      |

    这两个运行的平台,选择一个就可以。

     再看提示错误信息给出的使用的例子,可以知道:要正确使用的EasySYS编译驱动程序,还需要设置一个DDK或WDK环境变量。

    笔者我使用的是DDK开发包,因此,我可以设置环境变量:

    WXPBASE = 我的DDK的安装目录

    或者

    WLHBASE = 我的DDK的安装目录


    如果你选择的是-WXP      | XP          | x86     | %WXPBASE%      | -XP 

    那么你设置的环境变量就是WXPBASE

    %WXPBASE%  - Set this up for "-WXP","-WXP64", "-WXP2K" builds

     如果你选择的是-WLHXP    | XP          | x86     | %WLHBASE%      |

    那么你设置的环境变量就是WLHBASE

    %WLHBASE%  - Set this up for "-WLH*"builds

     现在我们开始设置环境变量,如图:


    笔者比较贪心,一次设置了两个环境变量,并且两个环境变量都指向同一个DDK的目录,其实选择WXPBASEWLHBASE中一个设置环境变量就可以,不过我还是比较推荐设置两个环境变量。


    选择Project—>Settting出现上面的对话框,我们重点要关注的是Build commandline下面的编译命令行参数,要想编译驱动工程成功,必须修改编译命令行:

    1.当选择的编译平台为:

    -WXP       |XP          | x86     | %WXPBASE%      | -XP,则修改命令行为:-WXP


    编译成功,生成的是objchk_wnet_x86的驱动


    2.当选择的编译平台为:

    -WLHXP     | XP          | x86     | %WLHBASE%      |,则修改命令行为:-WLHXP


    编译成功,生成的是objchk_wxp_x86的驱动


    由于我设置了两个环境变量,并且两个环境变量的值也一样,因此,我选择-WXP或者-WLHXP编译参数都可以,当然读者你要根据自己的环境变量的设置来选择编译的命令行参数。

    OK,现在可以开始驱动的开发之旅了。




  • 相关阅读:
    MyBatis-Generator 最佳实践
    Http请求工具
    多线程编程-之并发编程:阻塞队列
    如数据不存在就插入,存在就更新
    MySQL触发器
    13.multi_match实现dis_max+tie_breaker
    12. tie_breaker的使用原因和使用方法
    11.best fields策略(dis_max参数设置)
    10.多shard场景下relevence score可能不准确
    9.boost权重控制
  • 原文地址:https://www.cnblogs.com/csnd/p/11800741.html
Copyright © 2011-2022 走看看