Re: [問題] 關於C#結構指標問題
※ 引述《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
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章