#If ...
#If / #end 블록은 단일의 소스를 이용하여 디버그 버전과 릴리즈 버전에서 서로 다르게 동작하는 실행 파일을 생성하거나, 서로 다른 플랫폼에서 수행가능한 실행파일을 생성하기 위해 자주 쓰여왔다.
#If / #end 블록은 단일의 소스를 이용하여 디버그 버전과 릴리즈 버전에서 서로 다르게 동작하는 실행 파일을 생성하거나, 서로 다른 플랫폼에서 수행가능한 실행파일을 생성하기 위해 자주 쓰여왔다.
출처 : Effective C# p49
겉으로 보기에는 #If...Then...#Else 지시문의 동작과 If...Then...Else 문의 동작이 같습니다. 그러나 #If...Then...#Else 지시문은 컴파일러에서 컴파일되는 내용을 평가하고 If...Then...Else 문은 런타임에 조건을 평가합니다.
조건부 컴파일은 주로 동일한 프로그램을 여러 플랫폼에 대해 컴파일할 때 사용하거나 실행 파일에 디버깅 코드가 나타나지 않도록 하는데 사용됩니다. 조건부 컴파일 타임에 제외된 코드는 최종 실행 파일에서 완전히 생략되기 때문에 최종 실행 파일의 크기나 성능에영향을 주지 않습니다.
출처 : msdn.microsoft.com




덧글