Re: [問題] 關於C#結構指標問題

看板C_Sharp (C#)作者 (躂躂..)時間18年前 (2007/07/09 00:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《sky777 (...)》之銘言: : 在C++可以用 : #pragma pack(push,1) : #pragma pack(pop) : 來讓編譯器對齊位置(如char就分配1個byte空間而不會是4個byte) : 那C#裡如何設定?? 剛剛試了一下似乎不支援這樣寫^^b" C#不能用C++的語法不是很正常嗎o_O" Structs Tutorial http://msdn2.microsoft.com/en-us/library/aa288471(vs.71).aspx 這要用 LayoutKind.Explicit 配上 FieldOffset Attribute~ 像是msdn上舉的一個像C/C++上Union的例子~ [StructLayout(LayoutKind.Explicit)] struct TestUnion { [FieldOffset(0)] public int i; [FieldOffset(0)] public double d; [FieldOffset(0)] public char c; [FieldOffset(0)] public byte b1; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.136.137
文章代碼(AID): #16aHPliM (C_Sharp)
文章代碼(AID): #16aHPliM (C_Sharp)