内存对齐和长拷贝

Memory alignment and long copies

本文关键字:拷贝 对齐 内存      更新时间:2023-10-16

如果我们假设我将内存块与memalign对齐为4字节,那么这样做是否仍然安全:

unsigned int* source = In.Data;
unsigned int* dest = Out.Data;
int loops = In.Size / 4; //size is the same for both in/out 
while (loops)
{
    *dest++=*source++;
    loops--;
}

而是一次复制1字节?如果不是,如何判断内存是否正确对齐,以便在需要时回退到标准字节副本?

是的,它是安全的,因为您的块是正确对齐的。

如果从malloc获取块也是安全的,因为malloc返回的内存块可以保证为任何目的正确对齐。