屬性->配置屬性->鏈接器->常規(guī)->附加庫目錄,加入Lib所在路徑;2)項目->屬性->配置屬性->鏈接器->輸入->附加依賴項,加入wpcap.lib與Packet.lib兩" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

WinPcap初學(xué)(1)

系統(tǒng) 3076 0

??? WinPcap的使用說明網(wǎng)上也有不少,這里僅作學(xué)習(xí)過程的記錄。
??? 首先,從官方下載了較新的開發(fā)包 WpdPack_4_0_2 ,里面有不少的例子。不過都是VC6.0的,而我想要開發(fā)的環(huán)境是VS2008。解壓后有5個文件夾,其中Lib和Include兩個要包含在工程中。方法如下:1)項目->屬性->配置屬性->鏈接器->常規(guī)->附加庫目錄,加入Lib所在路徑;2)項目->屬性->配置屬性->鏈接器->輸入->附加依賴項,加入wpcap.lib與Packet.lib兩個靜態(tài)鏈接庫;3)項目->屬性->配置屬性->C/C++->常規(guī)->附加包含目錄,加入Include所在路徑。
??? 接著,我參考了 http://www.smatrix.org/bbs/read.php?tid=358&fpage=4 里頭的步驟開始獲取網(wǎng)絡(luò)驅(qū)動。結(jié)果很不幸地出現(xiàn)了一些莫名其妙的錯誤:1>c:\program files\microsoft sdks\windows\v6.0a\include\netioapi.h(155) : error C2146: 語法錯誤 : 缺少“;”(在標(biāo)識符“PhysicalMediumType”的前面)。錯誤發(fā)生在??? NDIS_PHYSICAL_MEDIUM PhysicalMediumType 這一句上。網(wǎng)上有一些解析,說這是因為VS2008對ntddndis.h里頭的定義比較新,WinPcap的頭文件在對ntddndis.h的編譯過后沒有獲得相應(yīng)的定義,固NDIS_PHYSICAL_MEDIUM不是一個結(jié)構(gòu)或類,所以就產(chǎn)生了缺少“;”這樣奇怪的錯誤。把netioapi.h里的#include <ntddndis.h>改為#include "ntddndis.h"后終于通過編譯,改為" "后項目則從包括的文件中先查找頭文件的定義,若找不到再從默認(rèn)路徑中查找。(網(wǎng)上查到的解析是: <>先去系統(tǒng)目錄中找頭文件,如果沒有在到當(dāng)前目錄下找。而""首先在當(dāng)前目錄下尋找,如果找不到,再到系統(tǒng)目錄中尋找。 )因此我猜想Include文件夾里頭的ntddndis.h有NDIS_PHYSICAL_MEDIUM的定義。再查看了一下Include文件夾里的ntddndis.h,也沒發(fā)現(xiàn),但在查看c:\program files\microsoft sdks\windows\v6.0a\include\下的ntddndis.h時竟然發(fā)現(xiàn)有NDIS_PHYSICAL_MEDIUM的定義?。。?是不是我對系統(tǒng)目錄的概念理解有誤呢?假如把Include里的頭文件刪了,再改回<>可以通過編譯的話,那么就說明在用<>的情況下查找的順序應(yīng)該是先查Include文件夾再查默認(rèn)路徑。一試之下竟然應(yīng)驗了。于是再去搜了一個尖括號與雙引號的區(qū)別,這個解析得比較清晰: 引號時,系統(tǒng)先在引用被包含文件的源文件所在的文件目錄中尋找要包含的文件,若找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)方式檢索其他目錄。尖括號時,不檢查原文件所在的文件目錄,而直接按系統(tǒng)標(biāo)準(zhǔn)方式檢索文件目錄 。這樣子就能解析發(fā)生了什么問題,因為發(fā)生錯誤的是在netioapi.h的頭文件里,而這個頭文件是在c:\program files\microsoft sdks\windows\v6.0a\include\下,所以在用<>時項目沒有直接查與netioapi.h同一目錄下的ntddndis.h,而是直接查到了Include頭上。
??? 把錯誤排除了之后,程序正常運行,我的電腦裝了個1000M網(wǎng)卡,所以搜出了3個驅(qū)動,第一個是VPN的,然后才是兩個物理網(wǎng)卡。

WinPcap初學(xué)(1)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論