_aligned_malloc_dbg
Przydziela pamięć na granicy określone wyrównanie z dodatkowym miejscem debugowania nagłówka i zastąpić buforów (tylko wersja debugowania).
void * _aligned_malloc_dbg(
size_t size,
size_t alignment,
const char *filename,
int linenumber
);
Parametry
[w]size
Rozmiar alokacji żądanej pamięci.[w]alignment
Wartość wyrównania musi być całkowitą potęgą liczby 2.[w]filename
Wskaźnik do nazwy pliku źródłowego, który zażądał operacji alokacji lub NULL.[w]linenumber
Numer w pliku źródłowym, jeżeli zażądano operacji alokacji lub NULL.
Wartość zwracana
Wskaźnik do bloku pamięci, która została przydzielona lub NULL , jeśli operacja nie powiodła się.
Uwagi
_aligned_malloc_dbgjest w wersji debugowej z _aligned_malloc funkcji.Gdy _DEBUG nie jest zdefiniowana, każde wywołanie _aligned_malloc_dbg jest zredukowana do wywołania _aligned_malloc.Zarówno _aligned_malloc i _aligned_malloc_dbg zaalokować blok pamięci podstawowej stercie, ale _aligned_malloc_dbg oferuje kilka funkcji debugowania: buforów po obu stronach część użytkownikowi bloku do badania pod kątem przecieków, i filename/linenumber informacji do ustalenia pochodzenia żądania alokacji.
_aligned_malloc_dbgalokuje blok pamięci, z nieco więcej miejsca niż żądana size.Dodatkowe miejsce jest używany przez menedżera sterty debugowania połączyć bloków pamięci debugowania oraz do zapewnienia stosowania z informacjami nagłówka debugowania i zastąpić buforów.Gdy blok jest przydzielone, część użytkownikowi bloku jest wprowadzana wartość 0x50 i każdego z buforów Zastąp wypełniane są 0xFD.
_aligned_malloc_dbgUstawia errno do ENOMEM Jeśli alokacja pamięci nie powiedzie się lub przekracza ilość pamięci potrzebne (w tym napowietrznej wymienionych wcześniej) _HEAP_MAXREQ.Aby uzyskać informacje na temat tego i innych kodów błędów, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.Ponadto _aligned_malloc_dbg sprawdza poprawność jego parametry.Jeśli alignment nie jest potęgą liczby 2 lub size jest równa zero, funkcja ta wywołuje obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie mogą w dalszym ciągu, funkcja ta zwraca NULL i ustawia errno do EINVAL.
Informacje o jak bloków pamięci są przydzielane, zainicjowany i zarządzane w wersji debugowej bazowy sterty, zobacz Zarządzanie pamięcią i debugowania sterty.
Informacje o alokacji typów bloku i w jaki sposób są używane, zobacz Typów bloków na stercie debugowania.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_aligned_malloc_dbg |
<crtdbg.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Biblioteki
Debug wersje biblioteki uruchomieniowej c tylko.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.