2014-09-02 3 views
0

У меня есть программа, написанная на C++, и мне нужно ее преобразовать в C#.
Эта программа считывает некоторые файлы pcap.
У меня есть добавить ссылку на библиотеку PcapDotNet в моем новом C# проекта, но типы не такой же, как в C++, как:От C++ до C# с файлами Pcap

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, извлекает объявление данных, делает что-то еще с ним.

+1

И ошибка? –

+0

@ayasha, какая ошибка? – user3165438

+0

Будет легче найти типы C#, иначе вам нужно будет маршалировать вещи. BTW Является ли ваш статикой внутри класса? Если нет, вы получите ошибки. – doctorlove

ответ

0

Если вы хотите использовать Pcap.Net для чтения файлов pcap, вы можете просто следовать инструкциям в Pcap.Net User Guide.

В частности, см. «Чтение пакетов из файла дампа» here.