| [ garbages ] in KIDS 글 쓴 이(By): cookie () 날 짜 (Date): 2011년 07월 18일 (월) 오전 05시 45분 08초 제 목(Title): Re: 어이 없는 malloc 쓰레드 -_-; null check 이 의미가 있는 경우가 있고 없는 경우가 있습니다. 예를 들어 할당 사이즈가 큰 경우나 매우 자주 할당하고 사용 수명이 긴 경우는 실제로 out of memory 가 발생할 가능성이 있는 경우죠. 그런 경우에는 런타임에 null check을 하고 에러처리까지 해줘야죠. 그러나 malloc 사용빈도로 보면 작은 버퍼라든지 수명이 길지 않은 경우가 압도적으로 다수입니다. 이런 경우에 out of memory error 는 거의 99% 버그거나 시스템이 정상적인 상황이 아닙니다. 또 의미있는 error 처리도 거의 불가능합니다. 그런경우는 런터임 null check 은 사치고 assert 로 체크하는거로 충분하고 프로그래밍 환경에 따라선 메모리 관리 라이브러리나 macro 등으로 따로 coding 상으로 신경쓰지 않아도 대부분 테스트시에 잡힙니다. 에러 처리도 글로벌한 alloc 에러 핸들러로 충분합니다. malloc의 null check 규칙은 하나의 답이 있는게 아니고 케이스 별로 상식선에서 판단해야 합니다. |