0
如果我们假设我对齐的内存块与包括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个字节的消息吗?如果不是如何判断内存是否正确对齐,以便在需要时回退到标准字节拷贝?
您必须将内存与“alignof(unsigned int)”对齐,而不是“4字节”。 – 2012-04-06 10:31:33
是的,我这样做(sizeof(unsigned int))D: – user1010005 2012-04-06 10:34:15
虽然通常不需要'alignof(T)== sizeof(T)'。例如,考虑'long double'类型。 – 2012-04-06 10:38:19