|
빌더맨 님이 쓰신 글 :
: 안녕하세요 ..
: 빌더 초보 거던요
: 답답해서 이렇게 올립니다.
:
: MEMORYSTATUS memory
: struct MEMORYINFO Mem;
: memset(&Mem,0,sizeof(Mem));
:
: memory.dwLength = sizeof(memory);
: GlobalMemoryStatus(&memory);
:
: // 물리적 메모리
: Mem.MemoryTotalPhical = memory.dwTotalPhys /1024 ;
:
: Mem.MemoryAvailPhical = (memory.dwAvailPhys / 1024) ;
:
: 이렇게 구한 메모리 용량 제 피씨는 128메가인데 :
:
: 실제 Mem.MemoryTotalPhical : 130500 로 차이가 납니다
: 다른 API 함수가 있는가요 ?
:
: 부탁 드립니다.
:
임펠리테리입니다.
그렇게 나타나는 것이 맞습니다. 탐색기의 헬프메뉴에서 윈도우 정보를 봐도 똑같은 값이 나타날 겁니다. 실제로 128메가이면 1024를 곱해서 131072kB가 되지만, 572kB가 적은 값이 나타나는 겁니다. 제 경우에 지금 집에서 쓰고 있는 노트북에는 192메가, 즉 196608kB의 메모리가 있지만, 윈도우 정보에도 또 작성한 샘플에서도 196080kB로 나옵니다. 이 약간의 차이가 생기는 이유에 대해 정확히는 모르겠습니다만, 아마도 윈도우 내부의 이유로 실제로는 사용할 수 없는 영역이 발생하는 것 같더군요.
그럼 참고하시길...
|