기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

아래 소스는 업무용(?) 소스중 일부입니다

---------------------------------------------
#define AUDIOBOOK_FREE(ptr)
do {
    if ( ptr )  
    {  
        sys_free( ptr );    
        ptr = NULL;
    }  
}while (0)
---------------------------------------------

이 매크로의 경우 do/while문으로 감싸준게

무슨 이유인지 궁금해서요.

최적화나 아니면 아토믹 오퍼레이션(-_-) 이런거

아닐까 짐작은 하는데,  이해를 못하겠습니다 ㅎ

고현철

2006.11.08 23:55:52
*.117.46.252

target=_blank>http://mkseo.pe.kr/blog/?p=28


를 참조하시면 될 듯 합니다.

atomic이랑은 상관없고, C를 쓸 때 쓰는 스타일에 따라 구문에러가
날 가능성이 있기 때문에 do...while문으로 묶어주는 겁니다.

참고로 저는 프로그래밍할 때 항상 { }를 쓰기 때문에 보통은
do...while문으로 매크로를 사용하지 않습니다....^^

서연석

2006.11.09 00:19:26
*.94.41.89

아! 정말 놀랐습니다. ^^

세상의 모든것에는 다 이유가 있다고 말은 하는데,

이런 이유가 있는줄은 몰랐습니다.


#. 고현철님 항상 도움 감사합니다. ㅎ
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
6168 u-boot 컴파일 에러 입니다.==>[완료] [2] 임준우 2006-11-01 936
6167 SMDK2440에 호환되는 PCMCIA Card질문! [2] 오상원 2006-11-06 795
6166 JTAG관련 질문입니다...[완료] [2] 박민규 2006-11-07 970
6165 사운드 sample rate 관련 질문입니다. [1] 김대영 2006-11-08 840
6164 리눅스 커널 쓰레드 어플리케이션 설계관련자료 구합니다 ... [완료... [4] 장석원 2006-11-08 924
» 매크로 선언에 관한 질문입니다 [완료] [2] 서연석 2006-11-08 855
6162 2440에 16C550 붙여보신분.... [5] 이율삼 2006-11-09 1407
6161 jffs2 마운트시 용량이 이미 사용중 <= 완료 [3] 황기천 2006-11-10 1085
6160 혹시 Video 스위칭 IC쪽 아시는분 있나요... [1] 이홍석 2006-11-10 1044
6159 [긴급]I2C Interface [9] 변효현 2006-11-10 1273
6158 TFT-LCD 프레임버퍼 드라이버를 수정할때 [3] 장석원 2006-11-11 1275
6157 saa7111 을 이용해..[완료] [5] 박재현 2006-11-13 922
6156 GUI toolkit 선택 고민중...[완료] [7] 오용석 2006-11-13 1228
6155 임베디드리눅스 GUI 를 선택해야 하는데 ... [2] 장석원 2006-11-14 1071
6154 SDL 관련 질문 드립니다. [6] 김증일 2006-11-15 1254
6153 추가 usb host 질문드립니다. ^^ => [완료] [8] 박찬우 2006-11-15 972
6152 H/W RESET에 관한 질문입니다. ===> [완료] [3] 신재곤 2006-11-15 819
6151 u-boot에서의 usb ohci 구현에 대해서 질문드립니다. ==> [완료] [2] 박찬우 2006-11-15 829
6150 SDL Cross compile 질문 [3] 김증일 2006-11-16 1022
6149 [완료] SDL Crosscompile 관련 질문 김증일 2006-11-17 908

사용자 로그인