固定结构数组内的另一个结构
本文关键字:结构 另一个 数组 | 更新日期: 2023-09-27 17:54:19
我需要一个structs
数组(它们都是固定大小的非托管structs
),但显然visual studio不喜欢我的代码。
基本上我需要一些像
fixed page_table tables[1024];
在我的结构。
这是代码,使visual studio throw fit,是有任何方式我可以实现这一点(我需要它全部预初始化)
[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];
}
错误消息非常清楚。除了列出的固定缓冲区之外,不能使用其他类型。
错误信息甚至给出了可能的解决方案,要么使用允许的类型之一,要么不使用固定的缓冲区。
如果你真的需要你正在尝试使用的代码,那么你已经达到了根本不可能做任何你想做的事情的地步。