【发布时间】:2014-10-26 10:57:02
【问题描述】:
我有一个用 C++ 编写的程序,我必须将它转换为 C#。
该程序读取一些 pcap 文件。
我在新的 C# 项目中添加了对 PcapDotNet 库的引用,但类型与 C++ 中的不同,例如:
pcap_t *fp;
char[] errbuf = new char[PCAP_ERRBUF_SIZE];
pcap_pkthdr header;
所以我不知道最好的方法是什么,用C#找到对应的类型,或者导入DLL。事实上,我发现很多人都是这样做的:
//pcap_t *fp;
[DllImport("wpcap.dll")]
static extern int fp;
但现在它不起作用,它给了我错误。
它没有看到 DllImport 并说缺少;,然后在它下面的行上也显示Invalid expression term 'static' 和';' expected。
问题是,我没有任何设备或任何东西,原来的 C++ 程序只是读取这些 pcap 文件提取数据并用它做其他事情。
【问题讨论】:
-
@ayasha,错误是什么?
-
查找 C# 类型会更容易,否则您将需要编组。顺便说一句,你的静态是在课堂上吗?如果不是,您将收到错误。
-
问题是我不知道某些函数是否存在..像头文件pcap_pkthdr,我不认为它存在于c#中,函数pcap_next_ex或pcap_open_offline..