java中的接口是类吗
332
2022-10-29
获取设备列表(Microsoft Visual Studio 2010)
通常,编写基于WinPcap应用程序的第一件事情,就是获得已连接的网络适配器列表。libpcap和WinPcap都提供了 pcap_findalldevs_ex() 函数来实现这个功能: 这个函数返回一个 pcap_if 结构的链表, 每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域 name 和 description 表示一个适配器名称和一个可以让人们理解的描述。
这样里面的代码就可以运行了;我们将WinPcap获取设备列表的程序复制到程序中,除了头文件其他都替换掉,此时看到代码中的函数下面是有波浪线的,是的,是因为我们还没有设置,先看代码,代码如下:
// ListInterface.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "pcap.h"int _tmain(int argc, _TCHAR* argv[]){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* 获取本地机器设备列表 */ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1) { fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf); exit(1); } /* 打印列表 */ for(d= alldevs; d != NULL; d= d->next) { printf("%d. %s", ++i, d->name); if (d->description) printf(" (%s)\n", d->description); else printf(" (No description available)\n"); } if (i == 0) { printf("\nNo interfaces found! Make sure WinPcap is installed.\n"); return 0; } /* 不再需要设备列表了,释放它 */ pcap_freealldevs(alldevs);}
对编译器做如下设置:
项目-->**属性(alt+F7)配置属性-->C/C++-->常规-->附加包含目录-->(是把头文件所在的文件路径添加到附加目录中C:\WpdPack\Include)
项目-->**属性(alt+F7)配置属性-->链接器-->常规-->附加库目录-->(是把Packet.lib;wpcap.lib所在目录添加到附加库目录中C:\WpdPack\Lib)
项目-->**属性(alt+F7)配置属性-->链接器-->输入-->附加依赖项-->补充“;Packet.lib;wpcap.lib”项目-->**属性(alt+F7)配置属性-->C/C++-->预处理器-->预处理器定义-->补充“;HAVE_REMOTE”
下面是获取的结果图:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~