Предположим у нас есть некий код на C++, который надо вызвать из C#. Пусть это будет функция под названием CppFunc:
int WINAPI CppFunc(LPSTR szSrc, LPSTR szDst) { return lstrlenA(szSrc); }
Если мы действительно хотим вызвать её из C#, то для начала, надо создать под Visual Studio 2010 проект “Win32 Project”:
тут жмем OK далее выбираем “DLL”:
жмем Finish и для этого DLL на забываем добавить DEF файл такого содержания:
LIBRARY 'CppCode' EXPORTS CppFunc
теперь в C# добавляем такую штуку:
[DllImport("CppCode.dll", CharSet = CharSet.Ansi)] public static extern int CppFunc(String src, String dst);