Пример как в из c++ dll вызвать функцию на C#
Категория: .NET
2011-09-03 17:32:53
Чтоб ее вызвать нужно о ней знать, для этого надо передать в параметрах указатель на функцию.
code: #csharp
- //инпортируем нужную функцию из плюсанутой дллки, CallingConvention важен
- [DllImport(@"YouCppDll.dll", CallingConvention = CallingConvention.Cdecl)]
- public static extern void RunFunk(ActionDeleg funkPtr);
- public delegate void ActionDeleg();
- public static void ActionFunk()
- {
- Console.WriteLine("hello!");
- }
- private static void Main(string[] args)
- {
- ActionDeleg f = ActionFunk;
- RunFunk(f);
в с++ dll код:
code: #cpp
- typedef void (*FUNK)();
- extern "C" _declspec(dllexport) void RunFunk(FUNK funkPtr)
- {
- funkPtr();
- }
Поделиться: