티스토리 뷰

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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함