2012-06-25 11 views
8

C++ 코드를 작성할 때 헤더 파일에 완전한 '구현'코드를 작성한 다음 나중에 구현을 .cpp로 리팩터링해야합니다. 파일.헤더와 구현 (h + cpp)에 .h를 자동으로 분할 (리팩터링)

이 과정은 힘들지 만 꽤 쉽습니다. 그래서이 작업을 자동화하는 방법이 있는지 궁금합니다.

특히, .h의 모든 클래스 및 함수 정의를 선언으로 바꾸고 새 .cpp 파일에 선언하고 싶습니다.

저는 xcode를 사용하고 있지만 어떤 해결책이든 열려 있습니다.

+0

Xcode? 나는 ObjectiveC (++)가 아닌 "평범한"C++이라고 생각했습니다. –

+0

XCode는 Objective C에 중점을 둔 일반 IDE입니다. 언급하는 것을 신경 쓸 것인지, 너무 많은 정보를 제공하는 것이 더 좋은지 확실하지 않았습니다. ;) – aaaidan

답변

9

하나의 .lzz 파일 만 작성하면 .h와 .cpp가 자동으로 생성되는 이 있습니다.

C++ modules .cpp 만 쓰고 가져 오기 파일이 자동으로 생성되기를 정말 기대하고 있습니다. 그러나 Clang이 모듈을 구현하기 시작 했음에도 불구하고 몇 년 동안 기다려야 할 것입니다. Here은 몇 가지 예입니다.

+0

헤이, 나는 그것을 좋아한다! 그래서'.lzz'가 바뀌면 makefile 규칙/의존성이'cpp'와'h'를 생성 할 수 있습니다. 좋은. – aaaidan

1

당신은 Makeheaders

http://www.hwaci.com/sw/mkhdr/

그러나 일반적으로 몇 가지 도구를 사용할 수 있습니다, 이러한 도구는 특히 새로운 C++ 파일 11 건을 충족 완료되지 않습니다.

+0

음, 유망스러워 보였지만 컴파일하기 위해 많은 수정이 필요했습니다 (malloc에서 반환 한 수십 개의 void 포인터를 올바른 유형으로 캐스팅해야했습니다). 컴파일했지만 실행했을 때 출력이 없습니다. 어떤 아이디어? – aaaidan

+0

오, 그것은 lzz와 비슷합니다. 그래서 lzz를 계속 사용할 수 있습니다 :) –

1

Eclipse의 기능 "리 팩터/토글 기능"에 관심이있을 수 있습니다. 그러나 항상 제대로 작동하지는 않습니다.