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バイトをコピーしますか?必要に応じて標準のバイトコピーにフォールバックするためにメモリが適切に配置されているかどうかを確認する方法がない場合はどうすればよいですか?

4

1 に答える 1

1

はい、ブロックが適切に配置されているので安全です。

mallocによって返されるメモリのブロックはmalloc、あらゆる目的で適切に整列されることが保証されているため、ブロックを取得することも安全です。

于 2012-04-06T09:30:00.243 に答える