C++ 메모리 분배 방식과 Windows 메모리 분배 방식
DWORD cbSize,
DWORD fdwAllocationType,
DWORD fdwProtect);
이 함수는 일정한 범위의 가상 페이지를 분배하는 데 쓰인다.매개 변수 1 시작 주소 지정하기;매개 변수 2 메모리 분배 길이 지정하기;매개변수 3 할당 방법을 지정하고 MEM 값을 가져옵니다.COMMINT 또는 MEMRESERVE;매개변수 4는 PAGE 의 값을 지정하여 이번에 할당된 메모리에 대한 액세스를 제어하는 ID를 지정합니다.READONLY、 PAGE_READWRITE 또는 PAGENOACCESS.
LPVOID lpvAddress,
DWORD cbSize,
DWORD fdwAllocationType,
DWORD fdwProtect);
이 함수 기능은 VirtualAlloc와 유사하지만 프로세스 프로세스를 지정할 수 있습니다.VirtaulFree, VirtualProtect, VirtualQuery에 해당하는 확장 함수가 있습니다.
DWORD dwSize,
DWORD dwFreeType);
이 함수는 분배된 가상 메모리를 회수하거나 방출하는 데 사용된다.매개 변수 1 메모리를 회수하거나 방출하고자 하는 기본 주소를 지정합니다.만약 회수라면 매개 변수 2는 가상 주소 범위 내의 어느 곳을 가리킬 수 있으며, 만약 방출된다면 매개 변수 2는VirtualAlloc가 되돌아오는 주소가어야 한다.매개변수 3은 메모리의 방출 또는 재확보 여부를 지정하며 MEM 값을 가져옵니다.DECOMMINT 또는 MEMRELEASE.
DWORD cbSize,
DWORD fdwNewProtect,
PDWORD pfdwOldProtect);
이 함수는 분배된 페이지를 보호 페이지로 바꾸는 데 사용됩니다.매개 변수 1 분배 페이지의 기본 주소 지정하기;매개 변수 2 보호 페이지의 길이를 지정합니다.매개변수 3 지정 페이지의 보호 속성, PAGE 수치READ、PAGE_WRITE、PAGE_READWRITE 등등;매개 변수 4는 원래의 보호 속성을 되돌려줍니다.
PMEMORY_BASIC_INFORMATION lpBuffer,
DWORD dwLength
);
이 함수는 메모리에서 지정한 페이지의 특성을 조회하는 데 사용됩니다.매개 변수 1은 검색하고자 하는 가상 주소를 가리킨다.매개 변수 2는 메모리 기본 정보 구조를 가리키는 지침이다.매개변수 3은 질의의 길이를 지정합니다.
이 함수는 메모리를 잠그는 데 사용되며, 잠긴 메모리 페이지는 페이지 파일로 교환할 수 없습니다.매개 변수 1 메모리를 잠글 시작 주소를 지정합니다.매개변수 2는 잠금 길이를 지정합니다.
매개 변수 1 잠금을 해제할 메모리의 시작 주소를 지정합니다.매개변수 2는 잠금을 해제할 메모리의 길이를 지정합니다.
c++의 메모리 분배 방식
:
1. : , 。 ,static 。
2. : , 。 。 , , 。
3. : 。 new/malloc ,delete/free 。 , 。 。
1. , 。
: 。 p!=NULL 。
2. , 。
。 0 , 。
: 。
3. 。
: 。
4. , 。
(1) delete free 。
: , NULL。
(2) delete free 。 。
: 。
5. , 。
new/malloc , delete/free .
:new delete ;malloc free ;new[] []delete 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.