2013-11-03 2 views
0

나는 책에 다음과 같은 문장을 발견윈도우 힙 관리자 및 힙 세그먼트

힙 관리자가 힙 세그먼트에 최선을 다하고 공간이 부족 때마다, 명시 적으로 더 많은 메모리를 커밋 새로 최선을 다하고 공간을 분할 더 할당 블록으로서 로하는 블록은 세그먼트 내의 사용자에 의해 사용 된 가상 메모리를 할당 할 때이 뜻

요청하고 메타 데이터는 더 이상 고려되지 커밋?

+1

어? 끝에서 문장의 종류가 무너졌습니다. –

+1

Windows가 램을 어떻게 다루는 지 알고 싶다면 [Mark Russinovich의 강연] (http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405) – Mgetz

답변

0

이 내가 그것을 가지고 책을 디버깅 고급 창에서, 당신은 끝으로 가지 모호한 얻을 당신이 무슨 뜻인지 확실하지 않은, 그러나 무엇을 기본적으로 의미하는 바입니다 힙의 내용은 반드시 미리 결정되지는 않으므로 적절하게 할당 된 공간을 사용할 수 있습니다. 예를 들어, 1MB의 힙 메모리를 할당 한 다음 512KB 또는 데이터 만 사용하여이 공간을 채우기로 결정한 경우 할당 된 힙의 절반을 커밋하여 512k를 더 비우는 것을 의미합니다. 그 메모리는 내가 명시 적으로 힙 할당을 1024k로 설정했기 때문에 여전히 OS에 활용되는 것으로 보여 질 것입니다. 그러나 다음 번에 내가 사용하는 512k보다 많거나 적게 사용할 수있는 같은 공간을 사용합니다. 사용을 위해 할당 됨. 주어진 지점에서 사용하는 금액은 커밋이며, 할당 한 금액은 할당입니다.

이 모든 훨씬 간단하고, 나는 같은 소스를 읽고 추천 할 것입니다 : 좋은

CBootCamp에서 CPP

  • Memory_Stack_vs_Heap 내용 여기
  • the-stack-and-the-heap에서에서

    • stack-memory-vs-heap-memory 소스를 사용하여 메모리와 C++에서의 사용법을 시작할 수 있습니다.

      귀하가 생각할 수있는 세부 사항이나 세부 사항이있는 경우 (귀하의 질문이 약간 분명하지 않음) 알려 주시면 최대한 빨리 답변 드리도록하겠습니다.

  • 0

    번호 할당 된 블록은 커밋 된 메모리의 일부입니다.

    당신이 힙 공간을 할당 할 때 다음과 같이