작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
237
0
WSABUF wsaBuf;
::WSARecv(_socket, &wsabuf, ...);
위 코드에서 WSABUF 타입 객체를 스택에 생성에서 WSARecv() 함수에 넘기면 이 함수가 바로 완료되지 않고, 나중에 완료 통지로 받는다면 스택에 생성된 WSABUF는 그전에 해제되서 잘못된 메모리에 쓰게 되는 게 아닌가요?
또 이런 api들을 호출할 때 넘길 파라미터를 스택에 생성할 지 new 로 힙에 생성할 지 기준은 어떻게 정하시는지 궁금합니다.
답변 1
0
그렇긴 한데 사실 wsaBuf는 별 내용이 없고 함수로의 인자 전달만 담당해서
보존되지 않아도 무방합니다.
이런 부분들은 당연히 처음에 소켓 공부를 할 때 궁금증을 갖고 좀 파보다가
어느 정도 많이 하다 보면 익숙해져서 기준이 생깁니다.
대체적으로 꼭 메모리 유지 = 동적 할당 이것이죠