关于结构的封送,先看一个类 StructLayoutAttribute
该类的作用是,允许控制内存中类或结构的数据字段的物理布局。
该类的层次结构为:
System.Object System.AttributeSystem.Runtime.InteropServices.StructLayoutAttribute.
以下主要是在C/C++ 与 C#之间的结构体封送的说明
数据的布局:
在C/C++中定义有如下结构体:
typedef struct tagInetAddr_t
{
unsigned int;
unsigned short;
unsigned char[2];
}InetAddr_t
而在C#中要定义一个适用的结构体时,可以使用该类控制结构成员的布局情况,例:
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct tagInetAddr_t
{
/// unsigned int
public uint ip;
/// unsigned short
public u