2015-01-01 4 views
1

Win32 API (또는> =에 설치할 수있는 액세스 가능한 DLL을 사용하여 프로그래밍 방식으로 OS의 주소 지정 가능한 메모리 공간의 전체 크기를 얻는 방법이 Win32 시스템에 있습니까? XP 시스템). 나는 GetPerformanceInfoGlobalMemoryStatusEx에 대해 알고 있지만 전자는 물리적 메모리를 다루는 것 같고, 후자는 내 프로그램에 의해 주소가 인데, OS가 없다.; 내 프로그램이 x86이어야하고 x64 시스템에서 실행될 수 있기 때문에 이것이 야구장이라고 보장 할 수는 없습니다.Win32 시스템에서 최대한의 메모리 공간 확보

참고 : 정확한 크기가 더 좋지만 필요하지는 않습니다. 나는 단지 "정말로 좋은 추측"이 필요하다.

+1

"2GB"로 추측해도 충분합니까? –

+0

@OliverCharlesworth 아니요. 나는 정말로 무엇을 처리 할 수 ​​있는지 신경 쓰지 않는다. _system_이 처리 할 수있는 것이 무엇이든 상관한다. (나를 믿어 라. 이것에 대한 유즈 케이스가있다. 단지 복잡하다.) –

+0

아, 나는 잘못 읽었다! 유스 케이스가 무엇인지에 대한 힌트가 있습니까? –

답변

0

GetPhysicallyInstalledSystemMemory은 물리적 한계를 얻을 수 있습니다.

GetNativeSystemInfo은 시스템에서 액세스 할 수있는 최상위 사용자 가상 주소를 검색 할 수 있습니다.

중 하나가 귀하의 요구 사항을 충족합니까?

+0

'GetNativeSystemInfo'는 내가 원하는 것을 들려줍니다. –

+0

내 64 비트 시스템에서 8TB 바로 아래에 숫자를보고합니다. –

+0

잘 골고루. 나는 내가 원하는 것을 얻을 수 있기 때문에 당분간 수락하고있다. –