Как написать оболочку C# для libssh2

Мы планируем написать обертку C# для libssh2. У меня есть следующие вопросы:

1) Так как libssh2 реализован на C/C++. Как я могу включить dll C++ в свой проект C#?

2) Как я могу получить дескриптор объекта Session libssh2 в моем проекте C#?

Заранее спасибо за помощь.


person user3428526    schedule 24.10.2014    source источник
comment
Привет, у тебя есть прогресс с твоей оберткой?   -  person Aimeast    schedule 31.03.2015


Ответы (1)


Из C# вы можете вызвать C-метод через p/Invoke и DLL-Import. Итак, если вы хотите использовать библиотеку C++, вам нужно написать процедурную c-оболочку. Вот пример для dll-импорта:

 [DllImport("kernel32.dll")]
 public extern static void Sleep(uint msec);

Вот как вы должны экспортировать функции c:

_declspec(dllexport) void __cdecl Function1(void);

Я бы порекомендовал вам прочитать следующий учебник: Tutorial p/Invoke< /а>

Второе решение: вы пишете оболочку C++/CLI, но это намного сложнее: оболочка C++/CLI

person BendEg    schedule 24.10.2014