一、c#结构体
1、定义与C++对应的C#结构体
在c#中的结构体不能定义指针,不能定义字符数组,只能在里面定义字符数组的引用。
C++的消息结构体如下:
//消息格式 4+16+4+4= 28个字节
struct cs_message{
u32_t cmd_type;
char username[16];
u32_t dstID;
u32_t srcID;
};
C#定义的结构体如下:
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct my_message
{
public UInt32 cmd_type;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public string username;