_freea
할당을 취소 하거나 메모리 블록을 해제 합니다.
void _freea(
void *memblock
);
매개 변수
- memblock
메모리 블록이 해제 될 때까지 이전에 할당 합니다.
반환 값
없음
설명
_freea 함수는 메모리 블록을 할당 취소 (memblock)는 이전에 할당 된를 호출 하 여 _malloca._freea스택 또는 힙 메모리가 할당 된 경우를 확인 하는 예제입니다.스택에 할당 된 경우 _freea 는 실행 되지 않습니다.힙에 할당 된 경우 해제 된 바이트 블록 할당 된 경우 요청 된 바이트 수에 해당 하는입니다.경우 memblock 입니다 NULL, 포인터를 무시 하 고 _freea 즉시 반환 합니다.잘못 된 포인터 해제 하려고 (의해 할당 된 메모리 블록에 대 한 포인터 _malloca) 후속 할당 요청에 영향을 줄 및 오류를 발생 시킬 수 있습니다.
_freea 호출 free 위해 내부적으로 메모리 힙에 할당 되어 있음을 발견 하면.메모리 주소에서 할당 된 메모리를 바로 앞에 메모리 힙에 또는 스택 마커에 의해 결정 됩니다 여부를 배치 합니다.
메모리를 늘리기에 오류가 발생 하면 errno 정보 실패와 운영 체제에서 특성에 설정 됩니다.자세한 내용은 errno, _doserrno, _sys_errlist, _sys_nerr를 참조하십시오.
메모리 블록이 해제 된 후 _heapmin 사용 하지 않는 영역을 결합 하 고 운영 체제로 해제 힙 사용 가능한 메모리 양을 최소화 합니다.운영 체제로 해제 되지 않습니다 해제 된 메모리 사용 가능한 풀으로 복원 된 및 할당에 대 한 다시 사용할 수 있습니다.
호출을 _freea 모든 호출을 함께 제공 해야 합니다 _malloca.또한 호출 오류입니다. _freea 같은 메모리를 두 번 합니다.때 응용 프로그램이 연결 되어 C 런타임 라이브러리의 디버그 버전을 특히 _malloc_dbg 기능을 정의 하 여 사용 _CRTDBG_MAP_ALLOC, 찾기 누락 또는 중복된 호출을 하는 것이 더 쉽습니다 _freea.디버깅 프로세스 동안 힙 관리 하는 방법에 대 한 자세한 내용은 참조 하십시오. CRT 디버그 힙.
_freea표시 된 __declspec(noalias), 함수에서 전역 변수를 수정 하려면 보장 하는.자세한 내용은 별칭.
요구 사항
Function |
필수 헤더 |
---|---|
_freea |
<stdlib.h> 및 <malloc.h> |
더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
예제를 보려면 _malloca.
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.