In the code, I often see some Macros assigned the value 1 or 0. Switching between different macro values will give me different function definitions. Are these macros for the purpose of engine development use only? As a game coder, I tried to change a value, then the warning appears, which askes me whether to overwrite the engine file. So I wondered if I can change these macro values as I like. Take the macro DO_CHECK as an example. If DO_CHECK =1, check() macro will be defined as
#define check() {
if(!(expr)) { FDebug::LogAssertFailedMessage( #expr, __FILE__, __LINE__ ); _DebugBreakAndPromptForRemote();
FDebug::AssertFailed( #expr, __FILE__, __LINE__ );
CA_ASSUME(expr); }
}
and if DO_CHECK=0, it will be like
#define check()
In every project I opened, I never see check() defined in the second way. If we only want check() to be defined in the first way, then why should we even have a DO_CHECK macro? Just directly define check() would be OK. What makes us choose between different macro values?
Thanks,
wcl1993