Programming/C# - Window

C#/ 전처리기 #

esoog Polaris 2023. 11. 14. 23:06
반응형

전처리기 #

를 사용하는 이유는 조건부 컴파일(Conditional Compilation)을 위한 것입니다. 이것은 특정한 조건이 충족될 때만 코드가 컴파일되도록 하는 기능입니다. 이 경우, "Debug"라는 심볼이 정의되어 있을 때만 해당 코드 블록이 컴파일되도록 지정하는 것입니다.

 

예시)

#if Debug
// 디버그 모드에서만 컴파일되는 코드
#endif

 


이렇게 하면 Release 모드에서는 해당 코드 블록이 컴파일되지 않습니다. 이는 디버깅과 관련된 코드나 특정 환경에서만 필요한 코드를 추가하고자 할 때 유용합니다. 예를 들어, 디버깅 정보를 로깅하거나 특정 조건에서만 실행되어야 하는 코드 등을 디버그 모드에서만 포함시키고자 할 때 사용될 수 있습니다.

반면에

 if (Debug)는 일반적인 실행 시에 조건을 체크하는 것이며, 이 경우에는 코드 자체는 항상 컴파일되고 실행됩니다. 코드가 항상 실행되도록 해야 하지만 그 안에서 특정 조건에 따라 동작이 달라져야 하는 경우에는 if 문을 사용하는 것이 적절할 것입니다.

요약하면, #if Debug는 컴파일 시에 코드를 제어하는 데 사용되며, if (Debug)는 실행 시에 조건을 검사하여 코드를 제어하는 데 사용됩니다.

728x90