about uscontact

ASSERT 와 VERIFY 매크로의 차이

Category:
Author: zemna
Date: April 17, 2021
Share this:

Visual C++는 디버깅을 위해 ASSERTVERIFY 매크로가 존재합니다.

이 두개의 매크로는 개발하고 있는 프로그램의 디버그 모드에서만 쓰여지며, 어떠한 조건이 true인지 false인지를 검사하는데 사용되고 만일 조건이 false라면 예외를 throw하게 됩니다.

그렇지만 이 두가지의 매크로는 릴리즈 버전의 프로그램을 빌드하는 과정에서 차이점을 보입니다.

ASSERT

  • 릴리즈때 사용했었던 조건문과 함께 제거 됩니다.

VERIFY

  • 릴리즈때 제거되지만, 사용했던 조건문은 그대로 남습니다.

아래의 샘플은 윈도우를 생성하는 코드를 ASSERT, VERIFY 매크로를 이용해서 처리한 코드입니다.

[code lang="cpp"] ASSERT(this->create(CProject::IDD_Dialog, pParent)); this->ShowWindow(SW_NORMAL); [/code]

or:

[code lang="cpp"] VERIFY(this->create(CProject::IDD_Dialog, pParent)); this->ShowWindow(SW_NORMAL); [/code]

만일 이 코드를 릴리즈 버전으로 빌드하게 되면 ASSERT 매크로로 처리한 코드는 윈도우가 절대 생성되지 않으며, VERIFY 매크로로 처리한 코드는 윈도우가 생성되는 것을 보실 수 있습니다.

그러므로 ASSERT 와 VERIFY는 아래와 같이 구분해서 사용하시면 됩니다.

ASSERT : 릴리즈 버전에서는 필요하지 않은 런타임시의 항목에 대한 정의 같은 것을 확인할 때 사용 VERIFY : 작성한 코드가 정상적으로 동작하는지 확인할 때 사용

Share this:

Leave a Reply

Your email address will not be published.

ZEMNA.NET

Professional software development agency estalished in Indonesia. We offers website setup, web application development, fulfillment service, and etc.
Follow us
Follow us to get latest news and tutorials.
2022 - Copyright, All Rights Reserved, Made by ZEMNA.NET with ❤️
magnifiercrossmenu