閱讀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中的高級請求和響應