1
在我的代碼我計算UINT64值,則鑄造這樣的:重讀UINT64作爲結構
return *(Cell*)packedUInt64;
細胞是一個結構。 Marshal.SizeOf(new Cell())打印8,所以它應該匹配一個UInt64,但上面的轉換與AccessViolationException崩潰。我可以嘗試更安全的方法,如Marshal.StructureToPtr,但我仍然想知道我的代碼中的錯誤在哪裏?也許對齊不匹配問題?
我回避Marshal.StructureToPtr的一個原因是它有點慢。 – 2012-04-02 15:00:41
''StructureToPtr'正是你需要使用考慮你甚至要求如何避免使用它。 – 2012-04-02 16:33:54