A call to PInvoke function has unbalanced the stack when including a C DLL into C#

前端 未结 3 2154
攒了一身酷
攒了一身酷 2021-01-06 12:56

I have written a C DLL and some C# code to test including this DLL and executing functions from it. I am not too familiar with this process, and am receiving a PInvokeStackI

3条回答
  •  不思量自难忘°
    2021-01-06 13:31

    The calling convention is wrong. If removing the int arguments doesn't trip the MDA then it is Cdecl:

     [DllImport("LibNonthreaded.dll", CallingConvention = CallingConvention.Cdecl)]
     public static extern void process(int high, int low);
    

    This isn't the standard calling convention for exported DLL functions, you might consider changing it in the C/C++ code, if you can.

提交回复
热议问题