2010-04-05 1 views
2

DLL 내보내기/가져 오기 사양을 사용하여 클래스를 작성하는 경우가 있지만이 구문은 이맥스 구문 분석기를 혼란스럽게합니다. 나는 다음과 같이 끝낼 것입니다 :DLL 내보내기 지정이있는 C++ 클래스에서 잘못된 이맥스 들여 쓰기

class myDllSpec Foo { 
public: 
    Foo(void); 
}; 

"public :"액세스 명세는 그 다음에 오는 모든 것이 부정확하게 들여 쓰기되어 있습니다. 나는 대중을 포함하는 행의 시작 부분에 구문을 설명하는 이맥스를 물어 보면

, 나는의 수익을 얻을 : 나는 myDllSpec을 제거하면

((label 352)) 

, 들여 쓰기는 정확하고, 이맥스는 것을 알려줍니다 구문은 다음과 같습니다.

((inclass 352) (access-label 352)) 

정확하고 합리적인 것 같습니다. 그래서 구문 구문 분석기가 DLL 내보내기 사양을 처리 할 수 ​​없다는 결론을 내내어 들기가 어려워졌습니다.

불행히도 필자는 파서에게 내 레이블에 대해 가르치는 방법을 모르겠습니다. 이것이 꽤 일반적인 관행 인 것 같아서, 나는 그 주위에 방법이 있기를 바라고 있습니다.

답변

2

http://www.emacswiki.org/emacs/IndentingC#toc13에서 "microsoft"스타일을 설정할 수 있습니다. 당신의 .emacs

드롭이 :

(c-add-style "microsoft" 
      '("stroustrup" 
       (c-offsets-alist 
       (innamespace . -) 
       (inline-open . 0) 
       (inher-cont . c-lineup-multi-inher) 
       (arglist-cont-nonempty . +) 
       (template-args-cont . +)))) 
(setq c-default-style "microsoft") 

하거나 기본값을 그대로두고 microsoftM-x c-set-style를 통해 수동으로 설정합니다.

class myDllSpec Foo { 
public: 
    Foo(void); 
}; 
:

귀하의 예는이 들여 쓰기를 렌더링

관련 문제