Kald af C++ function fra C# problem
HejJeg har defineret nogle funktioner i min C++ dll som:
WPGRABDLL_API int WPGrabInitDll();
hvor
WPGRABDLL_API = extern "C" __declspec(dllexport)
I mit C# kode importere jeg den så med:
[DllImport(DLL_NAME, CallingConvention=CallingConvention.Cdecl)]
public static extern int WPGrabInitDll();
Det virker også fint, men hvorfor er "extern C" nødvendig for at kalde en C++ function fra C#.
Hvis jeg ikke er erklære den så får jeg EntryPointNotFoundException og ved at kigge på dll og se de funktioner den eksportere hedder funktionen ?WPGrabInitDll@[en addresse]
Nogen der kan give en forklaring eller et link???