반응형
Runtime\Core\Public\Misc\Build.h
DO_GUARD_SLOW 1이면,
checkSlow, checkfSlow, verifySlow 실행
DO_CHECK 1이면,
checkCode, checkf, verify, check, checkNoEntry, checkNoReentry, checkNoRecursion, verifyf, checkf 실행
DO_ENSURE 1이면,
ensure, ensureAlways, ensureMsgf, ensureAlwaysMsgf 실행
DEBUG | DEVELOPMENT | TEST | SHIPPING | SHIPPING EDITOR | |
DO_GUARD_SLOW | 1 | 0 | 0 | 0 | 0 |
DO_CHECK | 1 | 1 | 0 | 0 | 1 |
DO_ENSURE | 1 | 1 | 0 | 0 | 1 |
Build.h에 정의된 코드를 같추려 보면 다음과 같습니다.
#define USE_CHECKS_IN_SHIPPING 0
#define USE_ENSURES_IN_SHIPPING USE_CHECKS_IN_SHIPPING
#if UE_BUILD_DEBUG
#define DO_GUARD_SLOW 1
#define DO_CHECK 1
#define DO_ENSURE 1
#elif UE_BUILD_DEVELOPMENT
#define DO_GUARD_SLOW 0
#define DO_CHECK 1
#define DO_ENSURE 1
#elif UE_BUILD_TEST
#define DO_GUARD_SLOW 0
#define DO_CHECK USE_CHECKS_IN_SHIPPING
#define DO_ENSURE USE_ENSURES_IN_SHIPPING
#elif UE_BUILD_SHIPPING
#if WITH_EDITOR
#define DO_GUARD_SLOW 0
#define DO_CHECK 1
#define DO_ENSURE 1
#else
#define DO_GUARD_SLOW 0
#define DO_CHECK USE_CHECKS_IN_SHIPPING
#define DO_ENSURE USE_ENSURES_IN_SHIPPING
#endif
#endif
Assertion의 활용은 다음글을 참고해 주세요.
'게임 개발 > Unreal Engine 기본' 카테고리의 다른 글
[UE4] Unreal Engine 게임 플로우 (0) | 2022.04.22 |
---|---|
[UE4] UClass, UFunction, UProperty, UEnum UInterface 메타데이터 지정자 (0) | 2022.02.16 |
[UE4] Assertion 이해하기 (0) | 2022.02.16 |
[UE4] 오브젝트 생성 - CreateDefaultSubobject , NewObject, SpawnActor (0) | 2022.02.12 |
[UE4] UObject의 참조 카운트(UObject Reference Count) (0) | 2022.02.10 |