문제

VS2005 C++ 컴파일러 플래그는 Xmx???M Java 플래그와 유사하므로 Windows에서 실행되는 애플리케이션의 힙 크기를 제한할 수 있습니다.

현재 여유 메모리를 찾기 위해 메모리를 채울 수 있도록 힙 크기를 제한해야 합니다.(코드는 메모리 사용량을 얻는 가장 좋은 방법인 임베디드 시스템에서도 실행됩니다.)

도움이 되었습니까?

해결책

gflags 유틸리티(Windows 디버깅 도구에 있음)가 이 작업을 수행할 수 있는지 조사할 수 있습니다.수많은 기본 애플리케이션을 사용하여 다른 많은 흥미로운 작업을 수행할 수 있습니다.

다른 팁

다음에서 크기를 설정하여 프로그램의 힙 크기를 설정할 수 있습니다.

Linker -> System -> Heap Reserve Size

다음을 사용하여 컴파일러 명령줄에서 설정할 수도 있습니다. /HEAP:reserve

힙 크기는 사용된 할당자에 따라 다릅니다.프로세스가 할당할 수 있는 메모리 양을 제한하는 일부 Windows API 호출이 있을 수도 있지만, 저는 그런 것을 알지 못하며 지금 당장은 찾고 싶지 않습니다. 죄송합니다.그러나 일반적으로 자신만의 할당자를 작성하는 경우(어쩌면 컴파일러에서 제공하는 malloc() 또는 new 연산자) 그런 식으로 힙 크기를 인위적으로 제한할 수 있습니다.

또는 자체 할당자가 있는 경우 래퍼일지라도 총 할당된 메모리 양을 추적할 수 있습니다.사용 가능한 금액을 알고 있다면 약간의 빼기를 하고 총액을 구하면 됩니다.그러면 가장 큰 여유 블록과 같은 조각화 통계를 얻을 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top