共用方式為


_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 適用於在巢狀項目需要對齊的情況;例如,如果在巢狀類別需要對齊時。

_aligned_offset_malloc 是根據 malloc;如需詳細資訊,請參閱 malloc

_aligned_offset_malloc 會標示為 __declspec(noalias)__declspec(restrict),這表示函式保證不會修改全域變數且傳回的指標不會產生別名。 如需詳細資訊,請參閱 noaliasrestrict

如果記憶體配置失敗或者要求大小大於 _HEAP_MAXREQ,這個函式會將 errno 設為 ENOMEM。 如需 errno 的詳細資訊,請參閱 errno、_doserrno、_sys_errlist 和 _sys_nerr。 此外, _aligned_offset_malloc 會驗證其參數。 如果 alignment 不是 2 的次方,或 offset 大於或等於 size 並且不是零,這個函式會叫用無效參數處理常式,如 參數驗證中所述。 如果允許繼續執行,這個函式會傳回 NULL,並將 errno 設為 EINVAL。

需求

常式

必要的標頭

_aligned_offset_malloc

<malloc.h>

範例

如需詳細資訊,請參閱 _aligned_malloc

請參閱

參考

資料對齊