이렇게 되었다고 하면 VC++에서는 컴파일러는 그냥 넘어갑니다만 실행시
에러가 발생됩니다...
free()나 delete의 경우 해당 메모리를 해제할때 그 포인터의 정확한 사이즈
등의 정보가 어딘가에 저장이 되어있어서 그것을 참고로 해당 메모리를 해제
하게 되는데 위의 경우는 그런 정보가 없기때문에 에러가 발생되는 것이지요...
최근 저런 오류 코드를 발견해서 수정하면서 저렇게 하면 core 날 수 있다고 했는데
실험을 해 보신분이 오류는 분명하지만 core도, error 도 안난다고 하길래
제 경험으로는 분명히 문제를 일으켰던 기억이 있어서
"무신일이 벌어질지 모른다"고 답하고 끝냈는데
과연 제가 맞는말을 한건지 모르겠어서 였습니다.
pynoos 님의 글은 도움이 많이 되었습니다.
여전히 무슨일이 일어날지 모르긴 하지만 ㅡ.ㅡ;;
전부터 궁금하던
malloc으로 할당한 정보는 누가 갖고 있는겨?
라는 궁금증은 해결되는군요.
Re: local variable에 대해 free()를 호출하면 어떻게 되나요..?
질문하신 의도는 ? 혹시, 혹시나인가요?
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
정상적으로 동작안하겠죠...
이렇게 되었다고 하면 VC++에서는 컴파일러는 그냥 넘어갑니다만 실행시
에러가 발생됩니다...
free()나 delete의 경우 해당 메모리를 해제할때 그 포인터의 정확한 사이즈
등의 정보가 어딘가에 저장이 되어있어서 그것을 참고로 해당 메모리를 해제
하게 되는데 위의 경우는 그런 정보가 없기때문에 에러가 발생되는 것이지요...
------------------------
http://agbird.egloos.com
http://bbs.kldp.org/viewtopic.php?t=1244
http://bbs.kldp.org/viewtopic.php?t=1244
전에 제가 쓴글인데.. 도움이 되셨으면합니다.
---
http://coolengineer.com
[quote="pynoos"]http://bbs.kldp.org/view
멋지군요 :D
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
감사합니다.
답변해 주신 분들 감사합니다.
다시 잘 읽어보니 질문 하는게 내용이 부실했군요 :oops:
원래 의도는 무슨일이 일어나는가?( free()의 내부에서 ) 였습니다.
최근 저런 오류 코드를 발견해서 수정하면서 저렇게 하면 core 날 수 있다고 했는데
실험을 해 보신분이 오류는 분명하지만 core도, error 도 안난다고 하길래
제 경험으로는 분명히 문제를 일으켰던 기억이 있어서
"무신일이 벌어질지 모른다"고 답하고 끝냈는데
과연 제가 맞는말을 한건지 모르겠어서 였습니다.
pynoos 님의 글은 도움이 많이 되었습니다.
여전히 무슨일이 일어날지 모르긴 하지만 ㅡ.ㅡ;;
전부터 궁금하던
malloc으로 할당한 정보는 누가 갖고 있는겨?
라는 궁금증은 해결되는군요.
감사합니다.
..........No Sig.........|
-------------------+
댓글 달기