_aligned_offset_malloc
지정 된 맞춤 경계에 메모리를 할당합니다.
void * _aligned_offset_malloc(
size_t size,
size_t alignment,
size_t offset
);
매개 변수
[in] size
요청된 메모리 할당의 크기입니다.[in] alignment
맞춤 값은 -2의 정수 거듭제곱이어야 합니다.[in] offset
강제로 정렬을하기 위한 메모리 할당에 대한 오프셋입니다.
반환 값
할당 된 메모리 블록에 대한 포인터 또는 작업에 실패한 경우 NULL 입니다.
설명
_aligned_offset_malloc는 중첩 된 요소에서 정렬이 필요한 경우에 유용합니다. 예를 들어, 중첩 된 클래스에 정렬이 필요한 경우.
malloc 을 기반으로 하는 _aligned_offset_malloc에 대한 자세한 내용은 malloc을 참조하십시오.
_aligned_offset_malloc는 __declspec(noalias) 및 **__declspec(restrict)**로 표시됩니다. 즉, 함수가 전역 변수를 수정하지 않고 반환된 포인터가 별칭이 지정되지 않도록 보증합니다. 자세한 내용은 noalias 및 restrict 를 참조하십시오.
이 함수는 메모리 할당에 실패 한 경우 또는 요청된 된 크기 _HEAP_MAXREQ 보다 큰 경우, errno 를 ENOMEM 로 설정합니다. errno에 대한 자세한 내용은 errno, _doserrno, _sys_errlist 및 _sys_nerr을 참조하십시오. 또한 _aligned_offset_malloc 매개 변수 유효성을 검사 합니다. alignment 2의 거듭제곱이 아닌 경우, offset 이 size 보다 크거나 같은거나 0이 아닌 경우, 이 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우, 이 함수는 NULL 를 반환하고 errno 를 EINVAL로 설정합니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_aligned_offset_malloc |
<malloc.h> |
예제
더 자세한 내용은 _malloc_dbg를 참조하십시오.