我需要一个structs
数组(这些数据都是固定大小的非托管structs
)但显然视觉工作室不喜欢我的代码。
基本上我需要一些东西像
fixed page_table tables[1024];
。
这是使视觉工作室合适的代码,无论如何我能实现这一点(我需要它全部预先初始化)< / p>
[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];
}
答案 0 :(得分:1)
错误信息非常清楚。您不能使用除固定缓冲区列出的任何其他类型。
错误消息甚至为您提供了可能的解决方案,要么使用其中一种允许的类型,要么不使用固定的缓冲区。
如果你真的需要你尝试使用的代码,那么你已经达到了无法做任何你想做的事情的程度。