2011-04-21 5 views
3

다음 매크로를 정의하고 문서 생성시 확장 해보십시오. doxygen이에서Doxygen : EXPAND_AS_DEFINED 사용 방법

#define GETSET(param) \ 
bool CYNOVE_Enable##param(postproc_ctx_t ctx, bool enable) \ 
{               \ 
struct postproc_ctx * c;         \ 
c = (struct postproc_ctx *)ctx;       \ 
c->do_##param = enable?1:0;        \ 
return TRUE;            \ 
}               \ 

, 내가 사용하는 경우 : 나는 그것을 사용하는 경우

MACRO_EXPANSION = YES 

는 그런 매크로가 확장됩니다. 는 그러나 설정 한 경우 :

MACRO_EXPANSION = YES 
EXPAND_ONLY_PREDEF = YES 
EXPAND_AS_DEFINED = GETSET 

제가 생각하기 때문에 매크로가

를 확장하지 않은 대답 중 하나는 잘못이지만, 코멘트는, 어떤 긴 설명을 빨아 제가이해야한다고 생각하는 방법을 추가 할 수 있습니다 작업.

doxygen 설명서 및이 link에 따르면 PREDEFINED 및 EXPAND_AS_DEFINED는 다른 용도로 사용됩니다. EXPAND_AS_DEFINED는 주어진 매크로를 "소스 코드에서 정의 된대로"선택적으로 확장하는 데 사용된다는 것을 알고 있습니다. 따라서 이름은 미리 정의 된 반면 Doxygen은 매크로의 의미를 나타냅니다.

답변

0

나는 그 이름이 말했듯이 미리 정의 된 매크로 만 확장한다고 생각합니다.

PREDEFINED += GETSET(param)="..." 

과 같은 것을 Doxygen 파일에 넣어야합니다. BTW

, 당신은 bool을 사용하고 있기 때문에 :

  • enable?1:0 단지
  • TRUE이어야 enable, bool는 C.
  • 에서 0보다는 다른 아무것도 1 없습니다해야 true