프로그래밍/C,C++

가상 메모리 및 Large Address Aware

MAKGA 2020. 2. 19. 23:57
320x100

OS bit별 사용 가능한 최대 메모리 양

  32bit OS 64bit OS
32bit Program

2GB

2GB
32bit Program(LAA) 2GB 4GB
64bit Program X 물리메모리의 양
실행중인 프로그램의 총 메모리 3.5GB 물리메모리의 양

 

32bit에서 사용할 수 있는 메모리가 2GB인 이유:

  • Null 포인터 할당 파티션 : 0x00000000 ~ 0x0000FFFF
  • 유저 모드 파티션 : 0x00010000 ~ 0x7FFEFFFF => 2047MB
  • 64KB 접근 금지 파티션 : 0x7FFF0000 ~ 0x7FFFFFF
  • 커널 모드 파티션 : 0x80000000 ~ 0xFFFFFFFF

 

 

Large Address Aware란?

32bit 응용 프로그램에서 2GB보다 더 큰 메모리가 필요할 수 있음을 운영체제에 알림

 

설정 방법

VisualStudio 기준 프로젝트 [속성] - [링커] - [큰 주소 처리] 사용 (/LARGEADDRESSAWARE)

320x100

'프로그래밍 > C,C++' 카테고리의 다른 글

RTTI란?  (0) 2021.06.18
비동기 함수 정리  (0) 2021.03.22
C++ 연산자 오버로딩  (0) 2018.04.25
STL 커스터마이징  (0) 2018.04.18
유틸리티 라이브러리  (0) 2018.04.18