|
프로그램에 대한 정확한 이해가 없이 답변을 하다보니 전부 엄한 답변만 하게 되는 것 같습니다.
정확히 어떤 프로그램이고 현재 어떻게 구현이 되어 있고 무엇을 원하시는지 써주셔야 제대로 된 답변이 가능할 것이라고 생각됩니다.
일단 리소스가 계속 늘어난다는 것은 어디선가 메모리가 새고(leak) 있다는 이야기이니 소스를 다시 체크해보셔야 할 것 같고, 프로그램 종료가 안 된다는 것은 do {} while을 빠져나가지 못하는 상황이 계속 된다는 의미입니다.
int loopcount = 0;
do {
if( loopcount++ > 100000 ) break; // 10만번 반복하고 while 루프 종료
} while(1);
이런식으로 어떤 조건이 되었을 때 루프를 빠져나가도록 프로그램을 수정해야 합니다.
만약 그 조건이 프로그램 외부에서 발생한다면, 뮤텍스, 소켓 통신 등의 프로그램간 데이터 통신 기법을 응용해서 해결해야 하겠지요.
do {
if( 다른프로그램에서_종료신호를_보냈나_체크 == true ) break;
} while(1);
초초초보 님이 쓰신 글 :
: 써보니 프로그램수행 하는 속도만느려지고
: 리소스는그대로 늘어나고 프로그램도 먹통이되네요
: 종료가안됨 알트컨트롤 딜리트로 종료시켜야만하는군요;
: 어디다른방법없을까요
: 투명윈도우를 반복적으로 그려주는 프로그램이라서요
: 후킹처럼 비트맵을 그린다고해야하나...
|