2017-02-02 5 views
2

SWIG를 사용하여 일부 C++ 코드에 대한 Python 래퍼를 생성합니다. 꿀꺽 꿀꺽 지시어 %로 시작하고 헤더에 다음과 같이 : 그 소리-형식을 처리 할 때clang 형식의 SWIG 지시문을 건너 뛰는 방법

#ifdef SWIG 
%apply int* INT_RET_VAL{int * is_donor}; 
#ENDIF 
ErrLevel mmct_hbond_is_donor(MM_Index ct, int atom_idx, int* is_donor); 
#ifdef SWIG 
%clear int * is_donor; 
#ENDIF 

%apply이 더 이상 꿀꺽 꿀꺽 문이 아닌 한, % apply으로 변합니다! 로트이 현재 Google 코드베이스에 있습니다. clang 형식으로 % apply 및 % clear 문을 건너 뛰도록 설득 할 수있는 좋은 방법이 있습니까? 아니면 #ifdef SWIG의 모든 내용일까요?

답변

1

// clang-format off을 사용할 수 있습니다. 귀하의 제안에 대한

int formatted_code; 
// clang-format off 
    void unformatted_code ; 
// clang-format on 
void formatted_code_again; 

https://clang.llvm.org/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code

+0

감사합니다. 나는 이것이 우리를 위해 일할 것이라고 생각하지 않는다. 이 제안을 원래 질문에 적용하면 머리글에 4 줄 더 추가되어 (매우 단순한) 함수 선언을 더 어둡게합니다. – dbn

+0

이것이 받아 들일 수 없다면,이'#ifdef SWIG' 접근법을 사용하지 말고 swig 지시문을 외부 .i 파일로 추출 할 수 있습니다. 그렇지 않으면 아이디어가 없습니다. – cubuspl42