검색결과 리스트
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
리눅스 코드 보면 do while(0)코드가 많던데, 매크로 확장시 잘못된 scope 계산이되는것을 방지하기 위해서입니다. 첨언으로 아래 예에서 첫번째 매크로는 else에 에러가 나고, 두번째매크로는 FOO; 의 세미콜론이 문제가 됩니다.
#define FOO a = 1; printf("aa");
#define FOO {a = 1; printf("aa");}
if( xx )
FOO;
else
a =2;
이런 경우 때문에 아래처럼 하는게 낫다.
#define FOO do { a = 1; printf("aa"); }while(0)
출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=7936&page=4
'-- VC++' 카테고리의 다른 글
좋은 UI 라이브러리 (0) | 2008.03.06 |
---|---|
#pragma pack() / __packed 에 대한 설명 (0) | 2008.03.05 |
BHO (Browser Helper Object) 관련 (0) | 2008.02.19 |
IOCP동작원리와 예제 (0) | 2008.02.15 |
Downloaded Program Files 에 설치된 OCX 제거 (0) | 2008.02.12 |
RECENT COMMENT