内存对齐和长拷贝

时间:2012-04-06 09:24:53

标签: c++ c memory alignment

如果我们假设我将一块内存与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--;
}

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

1 个答案:

答案 0 :(得分:1)

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

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