乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      WinXP SP1+DS3.2+XP DDK+VC6.0

       JP_Morgen 2014-05-11

      我使用的是WinXP SP1+DS3.2+XP DDK+VC6.0英文版,以下為DS3.2版本的安裝過程:

      1.安裝英文原版Visual studio 6.0,同時(shí)要記住注冊(cè)環(huán)境變量。

      2.安裝XPDDK,安裝時(shí)候注意需要將所有的組件、工具、例子等都安裝(避免出現(xiàn)hidport.h找不到的問題);

      3.安裝DS3.2;

      4.通過DriverStudio菜單下的DDK Build Settings子菜單啟動(dòng)VC,

      5.用Open Workspace打開位于DS安裝目錄的
      ……\DriverWorks\Source\vdwlibs.dsw。
      6. 選擇VC的Build菜單,選擇batch Build,在之后的對(duì)話框中選擇"Select x86",然后點(diǎn)擊Rebuld all.等待編譯成功

      7.打開位于……\DriverWorks\Examples\wdm\hellowdm.dsw,然后編譯(用VC的編譯和用DS增加的編譯鈕都可以)。如果你可以在其目錄中找到hellowdm.sys你就成功了。

      8.使用Driver wizard生成用VC編譯的項(xiàng)目后,修改項(xiàng)目屬性中的Link,刪除ntstrsafe.lib庫的包含.
      重新編譯驅(qū)動(dòng)程序即可成功.(避免出現(xiàn)找不到ntstrsafe.lib庫的錯(cuò)誤)

      其他環(huán)境如WIN2000下的如何安裝成功等我就不太清楚了。

      我把hidport.h文件和free版本的vdw_wdm.lib上傳了一下。

       

       

      個(gè)星期前郭老師給我布置了一項(xiàng)任務(wù):開發(fā)我們自己設(shè)計(jì)的一塊板子的PCI設(shè)備驅(qū)動(dòng),并給我指出了方向,具體說就是“三步走”戰(zhàn)略:

      (1)入門。熟悉基于DriverStudio開發(fā)環(huán)境的設(shè)備驅(qū)動(dòng)開發(fā),同時(shí)側(cè)面了解PCI設(shè)備驅(qū)動(dòng)程序的相關(guān)知識(shí)。

      (2)進(jìn)階。運(yùn)用純DDK進(jìn)行驅(qū)動(dòng)開發(fā),著重于學(xué)習(xí)別人的實(shí)例,并能熟練進(jìn)行調(diào)試和修改。

      (3)實(shí)戰(zhàn)。深入研究PCI總線標(biāo)準(zhǔn),結(jié)合具體的電路板特性開發(fā)出一套自己的設(shè)備驅(qū)動(dòng)。

      現(xiàn)在正在入門階段的初級(jí),總結(jié)一下近一周以來的WINDOWS驅(qū)動(dòng)程序開發(fā)學(xué)習(xí)過程中的經(jīng)驗(yàn):
      我目前使用的開發(fā)環(huán)境是:WINDDK\2600 + Visual Studio 6.0 + Compuware\DriverStudio 3.2
      (前兩者安裝順序不限,DriverStudio要最后安裝)。
      參考的主要入門書是:《Windows 2000/XP WDM 設(shè)備驅(qū)動(dòng)程序開發(fā)(第二版)》武安河 編著
      -----------------------------------------
      學(xué)習(xí)中遇到的問題和解決方法:
      (1)拿到附書代碼,運(yùn)行出了第一個(gè)驅(qū)動(dòng)程序CharSample,步驟如下:先雙擊代碼光盤提供的注冊(cè)表導(dǎo)入文件
      Windows2K-XP.reg,然后運(yùn)行DriverStudio自帶的EzDriverInstaller工具,打開sys目錄下的驅(qū)動(dòng)安裝配置文件
      CharSample.inf,然后Add New Device,提示需要.sys驅(qū)動(dòng)系統(tǒng)文件,找到sys\objchk\i386目錄下的
      CharSample.sys文件,確定后將提示The Driver Loaded Successfully?。ㄈ绻麍?bào)錯(cuò),而且設(shè)備前帶!號(hào),一般是因?yàn)橥泴?dǎo)入注冊(cè)表了)
            如此安裝好驅(qū)動(dòng)以后,就可以運(yùn)行exe\objchk\i386目錄下的應(yīng)用程序Test_CharSample.exe進(jìn)行測(cè)試了!
      (2)運(yùn)行成功后,重新編譯時(shí)卻總出現(xiàn)錯(cuò)誤,編譯不過去!
      錯(cuò)誤是:
      fatal   error   LNK1181:   cannot   open   input   file   "......\DriverStudio\DriverWorks\lib\I386\checked\vdw_wdm.lib" 通過網(wǎng)上學(xué)習(xí)和交流找到答案:原來是因?yàn)榕渲瞄_發(fā)環(huán)境時(shí),漏掉了如下一個(gè)步驟:
      編譯......\Compuware\DriverStudio\DriverWorks\source目錄下的工程得到vdw_wdm.lib文件!
      編譯時(shí),注意用VC打開工程文件后,有兩個(gè)工程,要先將VdwLibs工程設(shè)為當(dāng)前Active Project,然后在工具欄上單擊右鍵選擇“組建”,在彈出的編譯工具欄中配置一下編譯平臺(tái)的設(shè)置:選擇Win32 WDM Checked平臺(tái)(因?yàn)槲覀冇玫腦P),然后編譯就應(yīng)該可以了,但是還有可能出現(xiàn)編譯錯(cuò)誤:
      fatal error C1083: Cannot open include file: 'warning.h': No such file or directory
      為啥呢?因?yàn)闆]有選擇DDK環(huán)境,此時(shí)應(yīng)該在DriverStudio菜單-》DDK Build Setting...中選擇我們先前安裝的DDK的目錄,我安裝的目錄是C:\WINDDK\2600,這樣就可以編譯通過了!
      編譯完后會(huì)在"......\DriverStudio\DriverWorks\lib\I386\checked\"目錄下生成vdw_wdm.lib文件,做完這些后在去編譯自己編寫的驅(qū)動(dòng)程序工程就不會(huì)有上面所列的錯(cuò)誤了!
      當(dāng)然,也有可能會(huì)出現(xiàn)這樣的編譯錯(cuò)誤:fatal error C1051: program database file, '......\compuware\driverstudio\driverworks\source\obj\i386\wdmchecked\vdw_wdm.pdb', has an obsolete format, delete it and recompile
      不過編譯器提示的應(yīng)該夠清楚了,只要把連接目錄下的文件刪除再編譯一次就可以了!
      (3)用向?qū)陆ㄒ粋€(gè)驅(qū)動(dòng)工程,進(jìn)行編譯會(huì)產(chǎn)生如下錯(cuò)誤:
      Linking   with   DDK   linker...  
      LINK   :   fatal   error   LNK1181:   cannot   open   input   file   'ntstrsafe.lib'  
      Error   executing   link.exe.
      因?yàn)檫@個(gè)文件在xpddk里面是沒有的,在2003 ddk里面有,拷貝一個(gè)過來就可以了,或者在工程-》設(shè)置-》連接選框中把ntstrsafe.lib這個(gè)連接項(xiàng)去掉(它與source文件有對(duì)應(yīng)關(guān)系,在source文件中把這個(gè)庫的鏈接去掉也可以)
      在工程中的sources文件里邊,找到下面一行:
      TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\csq.lib
      直接刪除即可。有時(shí)候還會(huì)提示沒有ntstrsafe.h,#include<ntstrsafe.h>出錯(cuò),把它注釋掉即可。
      (4)在重新編譯武安河這本書中DMASample這個(gè)示例程序時(shí),出現(xiàn)了一個(gè)錯(cuò)誤:
      fatal error C1189: #error : Compiler version not supported by Windows DDK
      這個(gè)錯(cuò)誤是在前面幾個(gè)例子中不曾遇到的,原因在于wdm.h文件中有一個(gè)條件編譯語句
      #if _MSC_VER < 1300
      #error Compiler version not supported by Windows DDK
      #endif
      而VC6對(duì)應(yīng)的_MSC_VER(與版本有關(guān))為1200,因此提示如上錯(cuò)誤
      解決此問題是通過運(yùn)用DDK sources to vcproj Converter工具把驅(qū)動(dòng)工程的sources文件轉(zhuǎn)換成對(duì)VC6相適應(yīng)而解決的。
      (5)關(guān)于調(diào)試。調(diào)試方法很多,一般都用DbgPrint。
      check和free的區(qū)別。簡單地說,check相當(dāng)于debug,free相當(dāng)于release,前者是調(diào)試版本,后者是發(fā)布版本。你可以使用以下語句實(shí)現(xiàn)僅在check版本中輸出調(diào)試語句:
      #if dug
      #define dprintf DbgPrint
      #else
      #define dprintf(x)
      #endif
      然后使用dprintf代替DbgPrint。
      調(diào)試工具。ds自帶的softice,DriverMonitor,等。此外,Dbgview和DriverMonitor類似,可以從網(wǎng)上下載到的。Dbgview和DriverMonitor可以看到DbgPrint的字符串。
      轉(zhuǎn)換為vc工程。開始--程序--Compuware DriverStudio--develop--DDK sources to vcproj Converter,即可轉(zhuǎn)換。
      編譯應(yīng)用程序時(shí)盡量用DDK編譯,不要用VC自帶的Build,否則生成的應(yīng)用程序會(huì)提示錯(cuò)誤!

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多