|
백순희 님이 쓰신 글 :
:
: 인스톨 쉴드로 SetUp 디스크를 만든 다음 프로그램을 인스톨했습니다.
:
: 근데 win98에서는 같은 메모리여도 실행이 되는데
:
: NT에서는 EStackOverflow라는 에러 메세지가 뜨네요.
:
: 도움말을 참고해보니까 local variable을 너무 많이 썼거나 recursive하게 함수를 실행시키거나 하면 그렇다는데. 시스템 자체에서 stack으로 잡아주는 크기가 달라서 그런가요?
:
: 어떻게 하죠?
: 해결 방법이 없나요?
:
:
임펠리테리입니다.
같은 프로그램이 NT에서만 문제가 생기고 98에서는 문제가 없다고 해서 NT의 문제라고 볼 수는 없습니다. 흔하지는 않겠지만 프로그램 내부의 잘못된 코딩으로 인해 NT에서만 스택오버플로우가 발생할 수도 있을 겁니다.
코딩한 부분을 잘 점검해보시기 바랍니다. 스택오버플로우는 거의 100% 리커시브 콜에서 발생합니다. 명시적인 리커시브콜 외에도, 메시지처리함수가 재귀적일 경우에도 발생합니다. 예를 들면, 키 메시지의 핸들러에서 키 메시지를 다시 보낸다든지 하는 경우에요.
그럼 참고하시길...
|