inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

메모리풀 #1 강의 질문입니다.

213

snu

작성한 질문수 34

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
메모리 헤더 구조체의
static void* AttachHeader(MemoryHeader* header, int32 size) 함수에서
[MemoryHeader][Data] 와 같은 구조라고 하셨는데
32바이트를 할당받은 메모리 풀일 경우
[<----32바이트----->]
[MemoryHeader][Data]
인 구조가 맞나요?
 
또한 MemoryHeader만큼 +1하여 [MemoryHeader]->[Data]
Data를 가르킨채로 해당 영역을 리턴하면 컴파일러가 알아서 해당 메모리에 저장하고 사용하는 건가요?
Data 영역을 리턴한 이후로 작업은 별도로 수행하지 않아서 문의 드립니다.
 
 

windows-server MMORPG network

답변 1

1

Rookiss

1)

[<----32바이트----->]
[MemoryHeader][ Data ]
 
입니다.

2)
 
Data를 가르킨채로 해당 영역을 리턴하면 컴파일러가 알아서 해당 메모리에 저장하고 사용하는 건가요?
 
질문이 잘 이해가 안 가지만 일단 [컴파일러가~]에서 무조건 아닙니다. ㅎㅎ
컴파일러가 '알아서' 해당 메모리에 저장할 수는 없고
우리가 의도한 Data 시작 주소로 계산해서 반환하기 때문에 가능한 것이죠.
Data 주소만 일단 구해주고 추후 placement new 문법을 이용해 거기에 데이터를 사용하게 됩니다.

0

snu

제가 질문해놓고도 이상하네요ㅠ OS가 해주는게 맞겠죠

template<typename T>

class StlAllocator의

T* allocate(size_t count) 함수에서

return static_cast<T*>(xalloc(size))을 리턴해주면 ->[Data]가 가르키는 공간만큼을 OS에서 할당해 주는것이 맞나요(new의 메모리 할당기능)?

보통 c++에서 new /delete만을 사용하여 new 하면 메모리 할당해주는구나~알기만 했지

그 함수를 직접 눈으로 보니 헷갈리네요

Memory Pool에서 오버플로우 질문입니다.

0

63

2

포토폴리오 및 진로 관련하여 고민입니다.

0

112

1

포토폴리오 관련 고민입니다.

0

62

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

82

2

성능 테스트 결과

0

103

2

게임 서버 Stateful, Stateless 진로 고민

0

121

1

WaitOnAddress와 Sleep의 차이 질문

0

83

1

궁금한거 있습니다.

0

82

2

JobTimer 구동 스레드

0

107

2

TryPop() 동작 관련 질문

0

81

1

로드맵 C#서버 C++서버 방향성 질문

0

148

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

73

1

생명주기를 위한 의도적 복사

0

86

2

락프리의 실무에서 사용 질문

0

139

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

101

2

mutex와 sleep 차이점

0

117

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

152

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

96

1

공부법 관련해서

0

183

2

MakeShared 함수 관련

0

114

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

144

2

운영체제관련 질문입니다

0

131

1

send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.

0

117

2

메모리 풀 질문있습니다.

0

124

1