许多项目都涉及C#调用C++的DLL。
这种工作分两个方面:
(1)在C#中对C++定义的用类型进行进行重写,主要是struct、#define等。
(2)在C#中引入C++的DLL,使用[DllImport("*.dll")] public static extern long api();进行说明。
在这两方面中,都需了解C++转成C#对应的数据类型,本文章对此进行说明,对于C#调用C++的DLL方法请参看其他文章。
C++ C#
int(LONG) Int32
BYTE Byte
WORD(unsigned short) UInt16
DWORD(unsigned int) UInt32
char Char
HANDLE(void*) IntPtr
BOOL Boolean
unsigned long*(DWORD*) ulong[]
unsigned char* byte[]
char* string