| [ CnUnix ] in KIDS 글 쓴 이(By): swhan (차카게산다) 날 짜 (Date): 2003년 7월 22일 화요일 오후 01시 32분 38초 제 목(Title): Re: 디버그 정보 얻기 (파일이름/라인수) MACRO를 function처럼 이용하기 위한 방법입니다. if(0) ; else ; 는 문제 없지만 if(0) ;; else ; 이건 문제가 있죠. 마찬가지로 if(0) {} else {} 는 문제가 없지만 if(0) {}; else {} 는 문제가 있습니다. guest님 말씀은 if(0) do{ {} }while(); else {} 면 문제가 없으꺼라는거고.. linux커널에서는 많이 이용하는 방법이다.. 제 말은 if(0) { {}; } else {} 로 쓰는 습관을 들이는게 낫다..는 얘기고. (위의 예들은 컴파일시에 발견될 문제지만.. if문을 몇 조합하면 컴파일은 무사히 통과하고 이상하게 동작하는 경우도 생길 수 있습니다.) 뭐.. 취향의 문제라고나.. 제 개인 취향으로는 #define마다 do while로 떡칠하는건 별루입니다. 근데.. 가끔은 FUNCTION을 사용하고 if문같은걸 {}로 묶어주지 않은 기존 코드들과 쌈박질을 해야 할 경우에는 do while이 참 유용하다고 생각합니다. |