我需要一個structs
(這是所有非託管structs
與固定大小)陣列,但顯然視覺工作室不喜歡我的代碼。
基本上我需要像在另一個結構中固定結構數組?
fixed page_table tables[1024];
在我的結構。
這是使視覺工作室發脾氣的代碼,反正有我可以做到這一點(我需要它的所有預初始化)
[StructLayout(LayoutKind.Explicit, Pack = 1)]
public unsafe struct page_directory
{
[FieldOffset(0)]
public fixed page_table tables[1024];
[FieldOffset(0x8000)]
public fixed uint tablesPhysical[1024];
[FieldOffset(0x9000)]
public uint physicalAddr;
}
[StructLayout(LayoutKind.Explicit, Pack = 1)]
public unsafe struct page_table
{
[FieldOffset(0)]
public fixed page pages[1024];
}
你能否澄清「不喜歡」和「身體健康」?當你嘗試代碼時會發生什麼,它與你期望的有什麼不同?你是否收到任何錯誤信息,如果有,哪個? – Guffa
固定大小緩衝區類型必須爲以下值之一:bool,byte,short,int,long,char,sbyte,ushort,uint,ulong,float或double 固定大小的緩衝區可能不是列出的以外的任何類型。爲避免此錯誤,請使用其他類型或不要使用固定數組。 – user1454902
但事情是我的結構有一個固定的大小,它不像我在那裏扔了一個字符串或東西.....而int是一個結構,並以某種方式C#接受..... – user1454902