ASSERT
Section: Linux Programmer's Manual (3)
Updated: April 4, 1993
Index
Return to Main Contents
이름
assert - expression 이 거짓인 경우 프로그램 종료
사용법
#include <assert.h>
void assert (int expression);
설명
<assert.h>
가 마지막으로 포함될 시점에
매크로
NDEBUG
가 정의되어 있으면, 매크로
assert()
는 아무 코드도 생성하지 않으며 따라서 아무 것도 하지 않는다.
그렇지않고, (즉,
NDEBUG
가 정의되어있지 않고)
expression
이 거짓이면, 매크로
assert()
는 에러 메시지를 표준 출력으로 출력하고,
abort()
를 호출하여 프로그램을 종료한다.
이 매크로는 프로그래머가 버그를 잡는데에 쓰인다. 실제로 "assertion failed in file foo.c, function
do_bar(), line 1287" 와 같은 메시지는 일반 사용자에겐 아무 소용이 없다.
반환값
반환값을 갖지 않는다.
호환
ISO9899 (ANSI C)
버그
assert()
는 매크로 구현된다.;
assert()
로 검사하는 expression이 부작용을 낳는다면,
프로그램의 실행은
NDEBUG
가 정의 되어 있느냐에 따라 달라진다. 이런 점 때문에 디버깅 모드에서는 사라지는 Heisenbugs(불확정성 버그)를 만들 수 있다.
관련 항목
exit(3), abort(3)
번역
한글 Manpage 프로젝트 (http://man.kldp.org) 2005년 1월 30일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 호환
-
- 버그
-
- 관련 항목
-
- 번역
-
This document was created by
man2html,
using the manual pages.
Time: 13:51:08 GMT, January 30, 2005