Небольшая памятка, как вызвать с++ unmanaged код из c#.
Создаем dll на плюсах (обычная, не /clr!), где обьявляем экспортируемые функции:
Далее в шарповом коде создаем небольшой классик, экспортируем функцию и оборачиваем ее для удобства, вот так:
Далее использовать функцию следует вот так:
int result = Wrapper.plus(66,11);
Собственно все. Сейчас в одном из проектов реализуется идея написания гуи на шарпе, логики – на плюсах, что получится в итоге – увидим, отчитаюсь. Пока все достаточно удобно.
Создаем dll на плюсах (обычная, не /clr!), где обьявляем экспортируемые функции:
extern "C" __declspec(dllexport) int __stdcall Plus(int a, int b) { return a+b; }
Далее в шарповом коде создаем небольшой классик, экспортируем функцию и оборачиваем ее для удобства, вот так:
class Wrapper { [DllImport("Wrapper.dll")] static extern int Plus(int a, int b); public static int plus(int a, int b) { try { return Plus(a,b); } catch (DllNotFoundException e) { Console.WriteLine(e.ToString()); } catch (EntryPointNotFoundException e) { Console.WriteLine(e.ToString()); } return 0; } };
int result = Wrapper.plus(66,11);