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