c++的bool类型与c#的bool类型

本来有点懒,不过还是记一下。

使用HPSocket项目碰到C#调用结果不符合预期,也提了这个问题

最终发现是c++中的bool类型为1 byte,而c#中采用4 bytes导致,需要在DllImport时,使用

[DllImport(HPSOCKET_DLL_PATH, CharSet = CharSet.Ansi, SetLastError = true)]
[return:MarshalAs(UnmanagedType.I1)]
public static extern bool HP_Server_HasStarted(IntPtr pServer);

额外处理返回值。

posted @ 2020-03-31 21:44  mosakashaka  阅读(1364)  评论(0编辑  收藏  举报