• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

할당 범위? 오류? 질문 있습니다. 메모리 매니저 생성자 부분

23.02.26 23:53 작성 23.02.27 00:04 수정 조회수 439

1

강의영상 23;29초을 보면 두 번째 루프가 1024부터 시작함

0~1024바이트까지는 32바이트 단위로 증가

1025~2048바이트 까지는 128바이트 단위로 증가

즉 1025바이트가 필요하면 1024+128바이트의 메모리 풀에서 메모리를 가져다 쓴다(메모리 매니저의 pools의 1025번지는 1024+128단위로 할당되는 메모리 풀을 가리킨다.)
로 의도하셨다고 생각이 듭니다.

하지만 size=1024로 대입하는 구문을 빼면

size=1024+32 부터 시작합니다.

따라서 사용자가 1025바이트가 필요로 하면

메모리 매니저의 pools의 1025번지에는 1024+32바이트의 메모리풀에서 pop해서 사용할 것 같습니다.
의도했던것에서 값이 밀렸기에 3번째 루프에서 size는 2080에서 시작하고

2080 > 2336>2592 >...>3872 > 4128루프탈출

그렇기에 3873~4096번지까지는 NULL이들어갑니다.

 루프시작시에 1024, 2048부분이 들어가야 할 것 같습니다.

 

답변 1

답변을 작성해보세요.

2

네 확인 감사합니다.
서버 측에 몇몇 버그들이 있는데 제보받은걸 모아서 수정 영상을 올려야겠네요

장계탕님의 프로필

장계탕

질문자

2023.02.27

답변감사합니다.