2012-08-27 4 views
0

많은 .cpp & .h 파일로 구성된 C++ 프로그램이 있습니다.큰 C++ 프로그램을 여러 구성 요소로 분할

필자는 프로그램의 특정 기능에 대해 .cpp 파일을 여러 개 가져 와서 물리적 디커플링을 소개하고이 기능을 별도의 .dll/dylib로 컴파일하려고합니다.

"main"응용 프로그램에서 많은 (100s) 함수를 호출하기 때문에 dylib가 링크되지 않습니다. 이 문제를 해결할 수있는 방법은 무엇입니까? (플랫폼 : osx, windows 및 linux)

답변

4

이 질문에 대한 쉬운 대답은 없습니다. big ball of mud을 실행 취소하는 것은 과학이 아닌 예술입니다. 내가 당신의 자리에서 시작하는 기본 접근법은 100 가지 기능을 포함하는 세 번째 구성 요소를 추가하고 기본 응용 프로그램과 기능 dll 모두에 종속되도록 만드는 것입니다. 그러나 실제로는 시스템의 "리프"구성 요소를 식별하려고 시도 할 때 토끼 구멍이 될 수 있습니다.

Martin Fowler's info on refactoring에는 많은 유용한 리소스가 있습니다.