你在C#里使用dllimport导入函数就行,要进行适合参数的修改,如果有回调函数声明的就麻烦一点了。

解决方案 »

  1.   

    在C++回调C#函数的时候,C#里的内存回收机制,会影响C++动态库的稳定性。
    也许你碰不到这个问题。
      

  2.   

    C++回调C#里面的函数,我是弄通了。
    C++里面用的是函数指针,但C#里面只能用委托了,并且在声明委托前要加上这句:
    [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
    包含在:
    using System.Runtime.InteropServices;
    太不容易了
    具体会不会影响C++Dll的稳定性,还要多试验
      

  3.   

    如果没有这句的话,1 [UnmanagedFunctionPointer(CallingConvention.Cdecl)] 
    C#里面只要被回调一次,程序就异常退出。返回值:0x80000003。如下:
    程序“[24768] YKYDemo.vshost.exe: 托管(v4.0.30319)”已退出,返回值为 -2147483645 (0x80000003)。