이론/[책]WRITINGSOLIDCODE2 [2장]ASSERT YOURSELF strCopy = memcpy(malloc(length), str, length);위와 같은 코드에서 새로운 메모리릉 할당하는 malloc 함수가 실패한다면 memcpy 함수에 NULL포인터를 전달하게 되면서 memcpy는 정상적인 작동이 불가능하다. 따라서 예외 처리를 한다면 memcpy함수에 아래와 같이 예외처리를 추가 해 줄 수 있다.void memcpy(void* dst, void* src, size_t size) { if( dest == NULL || src == NULL) { // 에러 발생 } //~~ 복사 처리 //}위와 같이 코드를 작성하면 NULL포인터 문제를 막을 수 있다. 하지만 코드량이 늘어나고 수행해야할 코드가 늘면서 속도가 저하게되게 된다. 따라서 상업용 프로그램을 개발할 때는.. 2017. 2. 12. [1장]가상 컴파일러 컴파일 단계에서 소스코드의 버그를 잡아 줄 수 있다면 버그 없는 프로그램을 작성하는데 큰 도움이 될 것이다. 따라서 코드 상에서 가상 컴파일러를 흉내 내도록 노력해서 버그를 자동으로 발견할 수 있는 모든 기회를 이용하자. 흔히 자주 틀리는 구문이지만 이 구문이 프로그래머가 의도한 것일 수도 있는 구문일 경우 컴파일러에서는 에러로 표시하는 구문이 있다. ex) int count = 0; while( count < 5 ); 2017. 2. 4. 이전 1 다음