我的问题是在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
}
Run Code Online (Sandbox Code Playgroud)
结构的总大小必须是20个字节.
当我用sizeof()这种结构的C++ 做的时候,
System.Diagnostics.Debug.WriteLine(
"SizeOf(NetPoint) = " +
System.Runtime.InteropServices.Marshal.SizeOf(new NetPoint()));
Run Code Online (Sandbox Code Playgroud)
调试控制台显示:
SizeOf(NetPoint)= 24
但我预计会有20个字节.为什么我看到了区别?