我在C#中有以下字节数组,并且我被告知要将它与64位边界对齐:
protected byte[] bitArray;
在C ++中,我知道我可以使用内存分配来实现这一点,但我对C#中没有相同的控制权。有什么指针吗?
答案 0 :(得分:1)
首先,您需要固定阵列。否则GC迟早会将其移动到不同的对齐方式。你需要保持它固定。
然后,过度分配64位= 8字节。使用数组的子部分,只是不使用它的前缀来对齐。
通过获取指向数组的指针来确定要使用的第一个索引。
如果您不需要托管对象,则可以直接分配非托管内存。不过,这可能不太方便。