가속 프레임 워크를 사용할 때 Apple은 데이터를 16 바이트로 정렬 할 것을 권장합니다. 실제로 이것을 어떻게합니까?Objective C에서 메모리를 정렬하는 방법은 무엇입니까?
배열이 int[10000];
인 경우 pragma
이 있습니까? 어떻게 이것을 16 바이트로 정렬합니까?
가속 프레임 워크를 사용할 때 Apple은 데이터를 16 바이트로 정렬 할 것을 권장합니다. 실제로 이것을 어떻게합니까?Objective C에서 메모리를 정렬하는 방법은 무엇입니까?
배열이 int[10000];
인 경우 pragma
이 있습니까? 어떻게 이것을 16 바이트로 정렬합니까?
데이터를 정렬하려면 #pragma pack
을 사용해야합니다.
#pragma pack(push,16) ... your data structure here ... #pragma pack(pop)
난 당신이 손상된 데이터로 끝낼 수 사촌, 정렬에 대한 자세한 내용을 읽어보실 것을 권 해드립니다 : 사용할 필요가 alignement 16 바이트를 얻으려면.
malloc과 친구들은 항상 16 바이트 정렬을가집니다. 벡터를 지원하는 다른 이유 중 하나입니다.
int 배열 [10000]이있는 경우; 스택에있는 것이 아니라 malloc을 사용하여 할당 된 고정 크기 여야합니다. 그리고 16 바이트 정렬을가집니다.
이와 관련하여 보증하지 않습니다. - http://stackoverflow.com/a/5208379/1180117 – Kiran