버그 해결을 위한 모든 질문을 던져
0 votes
116 views
그렇다면

if(IsTest() == true)
    Test();

이런 코드가 있고 TEST 디파인이 없다면
어떻게 컴파이 되는걸까요?

    
단순히 생각하면

if(IsTest() == true)

이렇게만 남아있으면 컴파일 에러가 날거 같아서요
asked (17 point) , 116 views

1 답변

0 votes
우수 답변
단순히 코드 한 줄을 지워주는게 아니라 IL 코드 생성단계에서 아무것도 하지 않는 구문으로 처리됩니다.

if (IsTest() == true) {

}

이 코드가 컴파일 되겠죠. 이런 경우 컴파일러와 분석기에 따라 if 구문 내 body가 비어있으므로 if 구문 전체가 Stripping 될 수도 있는 것으로 알고있습니다.
answered (321 point)
선택됨

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

597 질문
758 answers
727 댓글
118,330 users