我的问题是如何在C程序和C#程序之间发送一个结构体。
我在C#中创建了一个结构体:
我在C#中创建了一个结构体:
public struct NetPoint {
public float lat; // 4 bytes
public float lon; // 4 bytes
public int alt; // 4 bytes
public long time; // 8 bytes
}
这个结构体的总大小必须为20字节。
在C++中,当我对这个结构体使用sizeof()
时,
System.Diagnostics.Debug.WriteLine(
"SizeOf(NetPoint) = " +
System.Runtime.InteropServices.Marshal.SizeOf(new NetPoint()));
调试控制台显示:
NetPoint的大小为24
但我预期它应该是20字节,为什么会有差异呢?