共用方式為


_aligned_malloc_dbg

會在指定的對齊方式界限,具有額外的空間上的記憶體配置為偵錯的標頭檔,並覆寫緩衝區 (偵錯版本)。

void * _aligned_malloc_dbg(
    size_t size, 
    size_t alignment,
   const char *filename,
   int linenumber 
);

參數

  • [in] size
    要求的記憶體配置的大小。

  • [in] alignment
    必須是整數的次方 2 對齊值。

  • [in] filename
    要求配置操作則為 NULL 的原始程式檔名稱的指標。

  • [in] linenumber
    對齊配置操作所要求的原始程式檔中的數字,或為 NULL。

傳回值

已配置之記憶體區塊的指標或NULL作業失敗。

備註

_aligned_malloc_dbg偵錯版本的_aligned_malloc函式。當 _DEBUG 沒有定義,每次呼叫_aligned_malloc_dbg將減少以呼叫_aligned_malloc。兩者都_aligned_malloc和_aligned_malloc_dbg配置的基底的堆集 」 中的記憶體區塊,但_aligned_malloc_dbg提供了數個偵錯功能: 使用者部份來測試是否有裂縫,區塊的任一邊的緩衝區和filename/linenumber資訊來判斷配置要求的原點。

_aligned_malloc_dbg配置記憶體區塊,具有比要求稍微多一點空間size。額外的空間用於偵錯堆積管理員若要連結的偵錯記憶體區塊,並提供偵錯標頭資訊給應用程式,並覆寫緩衝區。當配置區塊時,使用者區塊的部份填滿 0xCD 的值,而每個覆寫緩衝區會填入 0xFD。

_aligned_malloc_dbg設定errno到ENOMEM記憶體配置失敗時,或所需的記憶體 (包括先前所述的額外負荷) 量超過_HEAP_MAXREQ。如需這和其他錯誤碼資訊,請參閱errno、 _doserrno、 _sys_errlist 和 _sys_nerr。此外, _aligned_malloc_dbg驗證它的參數。如果alignment不是 2 的次方或size為零,這個函式在所述,會叫用無效的參數處理常式中, 參數驗證。如果執行則允許繼續執行,則這個函式會傳回NULL ,並設定errno到EINVAL。

如需有關如何記憶體區塊會配置、 初始化,而且在基底堆積的偵錯版本管理的資訊,請參閱記憶體管理和偵錯堆積

配置的區塊型別和它們的使用方式的相關資訊,請參閱類型的區塊在偵錯堆積上

需求

常式

所需的標頭

_aligned_malloc_dbg

<crtdbg.h>

如需相容性資訊,請參閱相容性在簡介中。

文件庫

偵錯版本的 C 執行階段程式庫只。

.NET Framework 對等用法

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

請參閱

參考

偵錯常式