阅读85 返回首页    go 阿里云 go 技术社区[云栖]


StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi, Pack:=1) 中pack的理解

_
Private Structure WAVE_EX
....

....   

End Structure

StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi )时取到 Marshal.SizeOf的结构会比实际大些,加入我上面的结构实际是46,那么他会是48个。
把pack 改为2就,那么就不会出现这种情况,但是结构里如果有byte这样的成员的话,应该实际3个字节,但是返回4个。
所以,系统默认的pack应该是4

 

上次碰到没有记日志,这次又折磨了我一会。 所以写个日志记一下。

如果有其他见解不妨告诉小弟。 多谢。

最后更新:2017-04-02 00:06:38

  上一篇:go linux程序退出时返回值的含义
  下一篇:go ajax中的高级请求和响应