Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- VisualStudio
- 사용자매크로
- inspiron 15 7590
- 영상처리
- Jetson Nano
- 가벼워
- Thread
- 인스피론
- MFC
- SetThreadAffinityMask
- 여객선
- 환경변수
Archives
- Today
- Total
MuTa
대용량 메모리 할당 Massive Memory Alloc 본문
32bit app에서 메모리 할당 하는 것은 최대 4GB
허나 실질 할당 가능 부분은 2GB 이하이다.
프로젝트>설정>링커>시스템>큰 주소 처리를 사용으로 바꿔야 한다.
3GB 까지 가능하다고 한다.
그 이상 쓰려면 VirtualAlloc 이나 MMF 를 사용하는 것이 좋다.
허나 64bit 프로그램 64bit OS 환경에서 다음과 같이 할당 가능하다.
#define GB 1073741824 //1024*1024*1024
SIZE_T BigSize = GB*(SIZE_T)8; //할당 크기 8GB
BYTE* pByte = new BYTE[BigSize];
for (SIZE_T i = 0; i < BigSize ; i++)
pByte[i] = i%255;
for (SIZE_T i = 0; i < BigSize ; i++)
if ((i % 100000) == 0) TRACE(_T("%lld %d \n"), i, pByte[i]);
delete[] (pByte);
pByte = NULL;
스샷은 32GB 램
PC 에서 25GB 할당 결과 이다.
할당 전
할당 상태
해제 후
TRACE 문으로 안쪽 내역 확인 가능
'MFC-C++' 카테고리의 다른 글
TIL-rapidJson - 191225 (0) | 2019.12.25 |
---|---|
NuGet Package (0) | 2016.06.09 |
C++ 11 핵심 (0) | 2016.05.16 |
시스템 현재 코어 개수 구하기 (0) | 2016.05.13 |
폴더내 파일 리스트 가져오기 (0) | 2016.05.13 |