티스토리 뷰
Assert 함수 이용
#include <stdio.h>
// #define NDEBUG
#include <cassert>
int main()
{
int val, test;
val = 3;
test = 5;
assert(val == test);
print("passed assert");
}
프로그램을 개발하거나, 테스트 할 때, assert 함수에 전달된 인자값의 expression이 1(true)가 아니라면,
경고와 함께 프로그램의 실행을 중지하고, 메모리 코어 덤프를 생성한 다음(시스템이나 설정에 따라 다름),
프로그램에서 에러가 난 소스 코드의 라인을 다음과 같이 표시해 준다.
또한 최종적으로 개발 완료 후 프로그램을 배포할 때, 더이상 assert문이 필요 없을때 일일히 함수 코드를 지울 필요 없이,
"#define NDEBUG"로 assert를 호출하는 코드를 제외하고 컴파일 해줄 수 있다.
Visual C++ 컴파일러 환경에서는 cassert를,
gcc (*nix) 컴파일러 환경에서는 assert.h 를 include해서 사용하면 된다.
'Programing > C++' 카테고리의 다른 글
C++ 클래스 _ 기초 (0) | 2016.08.04 |
---|---|
C++ 객체지향 프로그래밍(OOP) (0) | 2016.08.03 |
C++ 함수 오버로딩, 오버라이딩 (0) | 2016.08.01 |
C++ 구조체, 구조체 포인터 (0) | 2016.07.31 |
C++ 다중, 더블 포인터 (0) | 2016.07.29 |
댓글