응용 프로그램에서 나는 각각 480MB의 두 개의 버퍼를 할당해야합니다. 메모리 할당은 HeapAlloc 메서드를 사용하여 수행됩니다. 응용 프로그램은 많은 응용 프로그램이 실행되지 않는 시스템에서 정상적으로 작동합니다. 그러나 다른 응용 프로그램도 실행중인 시스템에서는 연속 메모리가 비 가용성이므로 메모리가 할당되지 않습니다. 메모리 공간 (인접하지 않음)은 사용 가능하지만 할당되지 않습니다.연속적인 메모리 할당
비 연속 메모리를 사용할 수있는 경우에도 480MB의 두 버퍼를 할당하는 데 도움이 필요합니다.
수 없습니다. 더 많은 메모리 (스왑 또는 RAM)를 추가하거나 ['std :: deque'] (http://en.cppreference.com/w/cpp/container/deque)와 같이 인접하지 않은 컨테이너를 사용하십시오. –
2 개의 메모리 맵 파일을 사용하여 비슷한 결과를 얻을 수 있습니까? 이 시점에서 시스템은 메모리를 관리하지만 평면적 인 연속적인 IIRC를 보게됩니다. – JimR
@JimR : 정상적인 할당 기능을 사용하면 페이지 파일을 메모리로 매핑하고 디스크에 변경 내용을 실제로 쓰는 것을 피하는 것을 제외하고는 정상적인 할당 기능에서 얻은 것과별로 다르지 않습니다. –