더북(TheBook)

이 메커니즘에 대해 아직까지 열띤 논쟁 중이다. 그래서 부록 K는 옵션 기능이다. 최신 플랫폼 중 상당수는 이 기능을 일부러 지원하지 않기도 한다. 이에 대해 심도 있게 연구한 오도넬(O’Donell)과 세버(Sebor)의 결과[2015]에 따르면 이 인터페이스를 도입하면서 여러 문제가 해결되기는커녕 오히려 다양한 문제가 생겼다고 한다. 지금부터는 이런 종류의 옵션 기능을 회색 박스에 담아서 표현한다.

부록 K

경계값 검사와 관련된 함수는 라이브러리 함수 이름 뒤에 _s가 붙는 것이 많다. 예를 들어 printf의 경계값 검사 버전은 printf_s다. 그래서 함수를 직접 정의할 경우 이름 뒤에 _s를 붙이면 안 된다.

TAKEAWAY 8.4 _s로 끝나는 식별자 이름은 예약돼 있다.

이런 함수에 런타임 제약 위반(runtime constraint violation)C 문제가 발생하면 진단 정보를 출력한 뒤 프로그램을 종료할 때가 많다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.