我需要一个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