C언어 프로그래밍을 하면서 동적으로 할당한 메모리를 해제하지 않거나, 열어둔 파일 핸들을 닫지 않아 리소스 누수(Resource Leak)가 발생했던 경험이 한 번쯤 있을 것입니다. 소스코드의 규모가 커지고 예외 처리 분기가 많아질수록 모든 종료 시점에 맞춰 일일이 정리 코드를 집어넣는 일은 매우 까다롭습니다. 만약 프로그램이 끝나는 순간 운영체제가 특정 함수를 알아서 호출해 주도록 설정할 수 있다면 코드가 훨씬 안전해질 것입니다. 이번 글에서는 프로그램 정상 종료 시 정리를 도와주는 고전적인 atexit 함수와, C11 표준에서 새롭게 도입된 신속한 종료 방식인 quick_exit 함수의 메커니즘 차이를 상세히 알아보겠습니다.핵심 요약 3줄atexit 함수는 프로세스가 정상 종료될 때 실행할 자원 정리..