当前位置: 代码迷 >> C# >> 高分C#调用C++的方法写法
  详细解决方案

高分C#调用C++的方法写法

热度:351   发布时间:2016-05-05 02:50:18.0
高分求助C#调用C++的方法写法
C++方法 A.DLL
BOOL Test(byte a,PNOTIFICATIONFUNC n);
typedef void (winapp *PNOTIFICATIONFUNC )
(
byte a,
byte *data
);
typedef PNOTIFICATIONFUNC LPNOTIFICATIONFUNC;;
对应的c#要怎么写?
------解决思路----------------------
delegate void PNOTIFICATIONFUNC(byte a, byte* data);
bool Test(byte a, PNOTIFICATIONFUNC n);
------解决思路----------------------
typedef void (winapp *PNOTIFICATIONFUNC )是个函数指针,括号里是指针的类型,貌似winapp应该是WINAPI 
对应委托
public delegate void PNOTIFICATIONFUNC(byte a, byte[] data);  //或者用IntPtr data, 然后用Masharl.Copy复制出来

然后是导入函数
[DllImport("ddl名字", 调用约定等)]
public statice extern bool Test(byte a, PNOTIFICATIONFUNC n);


------解决思路----------------------
然后注意对齐。 找个对码表就好了
http://www.cnblogs.com/blackice/archive/2013/05/23/3094653.html
  相关解决方案