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

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

---------------------------------------------
#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

노트북에서 VirtualBox 네트워크 셋팅 질문입니다 (스크린샷 포함) file [3]

삼성 PV310 관련 MIPI CSI 4 Lane 규격 영상캡춰 문의 .... [7]

메모리 어떻게 빼나요?[완료] [2]

[질문]SDL에서 터치 화면 맞지않는 문제 <= 완료 [5]

안드로이드 PDK 포함 Full Source 받는 방법을 자세히 알고 싶읍... [5]

Aesop S3C6410 에 Android 설치 관련 질문이 있습니다. [3]

6410에 관련 몇가지 질문입니다. [5]

[완료] 완전 초짜의 질문 GPIO는 어디서 뽑을지.. [3]

안드로이드 버전 확인 방법 문의 [1]

Origenboard (S5PV310) u-boot & kernel 다운로드 [1]

  • gudrl
  • 2013-04-17
  • 조회 수 2828

git 서버 구축 하여 IP로 접근 할수 있는 방법? [3]

  • 작두
  • 2010-03-26
  • 조회 수 2825

[완료] LX800 여유분이 남았나요? [2]

USB bluetooth 동글을 Android에서 인식하게 하려면? [2]

RTL8100을 두개 붙이려면? [2]

[완료] Linux CD에 굽는 방법좀 알려주세요.. [6]

busybox compile(Toolchain-aesop6410-090320) [6]

wpa_supplicant에 있어서 문의드립니다. [2]

gtk+-2.12.12 on DirectFB-1.4.9에서 gtk-demo 에러

nand erase error입니다 도움 부탁합니다. [2]

smpeg질문 [1]

사용자 로그인