최근에 대규모 프로젝트를 컴파일 할 때 (저는 Audacity 소스를 가지고 놀았습니다) 다른 많은 파일에서 참조하는 파일을 변경하면 수십 개의 다른 파일에서 참조되는 도구 모음 위젯이 컴파일을 유발한다는 것을 알게되었습니다. 매우 오래 걸립니다. 이와 같이 파일을 조정하거나 디버그해야하는 경우 각 컴파일주기를 완료하는 데 몇 분 이상 걸릴 수 있습니다.
도구 모음을 참조하는 파일에 포인터를 사용하는 경우 컴파일러는 여전히 클래스에 대한 참조를 포함하는 각 파일을 다시 컴파일해야합니까?
그렇지 않은 경우에도 설계에 따라 해당 파일을 컴파일합니까?
기존 언어 또는 프레임 워크에서 인스턴스가 아닌 클래스의 프로토 타입에 대한 포인터를 가질 수 있습니까?
예,하지만 파일이 make 파일에서 어떻게 제공되는지에 따라 다릅니다. 정의 된 인터페이스 및 팩토리 클래스를 사용하여 올바르게 수행되면 인터페이스 헤더 파일을 수정하는 경우에만 다른 모듈을 다시 빌드하면됩니다. 따라서 모듈 헤더 및 / 또는 소스를 수정하면 모듈을 다시 빌드 할 필요가 없습니다.
포인터 생성은 실제 인스턴스 생성을 처리하는 팩토리를 통해 포인터가 생성되고 포인터가 추상 인터페이스 유형 인 경우에만 작동합니다.
즉, 인터페이스 헤더를 포함하고 make 파일 종속성을 적절하게 수정하여 모듈에 직접 의존하지 않도록해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다