* TerminateProcess
ㄱ. 자기 자신이 아닌 다른 프로세스를 종료시킬 수 있음.
ㄴ. 정리 작업을 하지 않기 때문에 되도록 사용하지 않는 것이 좋음.
ㄷ. 메모릭 발생 위험 있음.

* PostQuitMessage
ㄱ. 단지 메시지 맵에 WM_QUIT 메시지만 전달하는 것이기 때문에 
   이 명령의 다음 코드도 실행이 됨.
ㄴ. 메모릭 발생 위험 있음.
   
* ExitProcess
ㄱ. 프로세스와 연결된 모든 DLL을 종료시키기 위해 
   각 DLL의 DllMain함수가 호출되며 DLL들은 스스로 정리작업을 시도함.
ㄴ. 모든 열려진 핸들을 닫음.(핸들 테이블 제거)
ㄷ. 프로세스 커널 객체와 쓰레드 객체의 상태가 신호상태로 되며 
   이 신호를 기다리는 다른 프로세스 대기 상태를 해제할 수 있음.
ㄹ. 프로세스의 종료코드는 STILL_ACTIVE에서 ExitProcess()인자로 지정한 값으로 변경됨.
ㅁ. 곧바로 정리 작업에 들어가기 때문에 이 명령 뒤의 코드는 실행되지 않음.
ㅂ. 실행중인 모든 쓰레드를 종료시킴.
ㅅ. 메모리 릭 발생 위험 적음.

'1.소프트웨어 이야기' 카테고리의 다른 글

sprintf 함수 관련 수집  (0) 2018.08.19
비트, HEXA 연산하기  (0) 2018.08.03

+ Recent posts