클래스에 대한 포인터가 모듈성을 증가 시킵니까?

Aelgoa

최근에 대규모 프로젝트를 컴파일 할 때 (저는 Audacity 소스를 가지고 놀았습니다) 다른 많은 파일에서 참조하는 파일을 변경하면 수십 개의 다른 파일에서 참조되는 도구 모음 위젯이 컴파일을 유발한다는 것을 알게되었습니다. 매우 오래 걸립니다. 이와 같이 파일을 조정하거나 디버그해야하는 경우 각 컴파일주기를 완료하는 데 몇 분 이상 걸릴 수 있습니다.

도구 모음을 참조하는 파일에 포인터를 사용하는 경우 컴파일러는 여전히 클래스에 대한 참조를 포함하는 각 파일을 다시 컴파일해야합니까?

그렇지 않은 경우에도 설계에 따라 해당 파일을 컴파일합니까?

기존 언어 또는 프레임 워크에서 인스턴스가 아닌 클래스의 프로토 타입에 대한 포인터를 가질 수 있습니까?

크레이그

예,하지만 파일이 make 파일에서 어떻게 제공되는지에 따라 다릅니다. 정의 된 인터페이스 및 팩토리 클래스를 사용하여 올바르게 수행되면 인터페이스 헤더 파일을 수정하는 경우에만 다른 모듈을 다시 빌드하면됩니다. 따라서 모듈 헤더 및 / 또는 소스를 수정하면 모듈을 다시 빌드 할 필요가 없습니다.

포인터 생성은 실제 인스턴스 생성을 처리하는 팩토리를 통해 포인터가 생성되고 포인터가 추상 인터페이스 유형 인 경우에만 작동합니다.

즉, 인터페이스 헤더를 포함하고 make 파일 종속성을 적절하게 수정하여 모듈에 직접 의존하지 않도록해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파생 클래스에 대한 포인터가 Base 클래스를 먼저 생성합니까?

분류에서Dev

내 클래스 (다른 클래스에 대한 포인터 컨테이너)가 공용 생성자에 액세스 할 수없는 것 같습니다.

분류에서Dev

클래스 내 모든 정의 가능한 항목에 대한 포괄적 인 용어가 있습니까?

분류에서Dev

import 문이 클래스의 크기를 증가 시킵니까?

분류에서Dev

Scala의 모든 시퀀스에 대한 유형 클래스가 있습니까?

분류에서Dev

'클래스에 대한 인수 생성자가 없습니다.'

분류에서Dev

노드가 사용자 정의 클래스에 대한 모듈을 찾을 수 없습니다.

분류에서Dev

객체에 대한 포인터는 여전히 첫 번째 메모리 할당을 가리 킵니다.

분류에서Dev

포인터에 대한이 포인터가 중복됩니까?

분류에서Dev

Perl : 파생 클래스가 기본 클래스에서로드 한 모듈을 사용하도록합니다.

분류에서Dev

C ++에서 기본 클래스에 대한 포인터가 주어 졌을 때 파생 클래스 개체에 대한 오버로드 된 함수가 호출되지 않는 이유는 무엇입니까?

분류에서Dev

QList QList <Class *>에 클래스에 대한 포인터 추가

분류에서Dev

클래스에 대한 포인터가 함수 호출을 통해 값을 변경할 수있는 이유는 무엇입니까?

분류에서Dev

왜 모든 경우에 shared_ptr 생성에 대한 원시 포인터가 허용됩니까?

분류에서Dev

Static_cast는 사용자 정의 변환 연산자가 정의 된 경우에도 클래스에 대한 포인터 캐스팅을 거부합니다.

분류에서Dev

스택 변수에 대한 포인터가 휘발성이어야합니까?

분류에서Dev

객체가 아닌 클래스에 대한 참조 / 포인터를 얻는 방법은 무엇입니까?

분류에서Dev

클래스에 대한 포인터의 C ++ 함수가 작동하지 않습니까?

분류에서Dev

클래스에 대한 기본 생성자가 없습니다.

분류에서Dev

해당 개체의 클래스가 다른 부스트 모듈에서 선언 된 경우 부스트를 사용하여 C ++ 개체에 대한 포인터를 파이썬에 반환하는 방법은 무엇입니까?

분류에서Dev

C ++ 상속 : 기본 클래스에 대한 파생 클래스 포인터가 파생 클래스 메서드를 호출합니다.

분류에서Dev

구조 유형에 대한 포인터에서 파생 된 모든 포인터가 동일합니까?

분류에서Dev

대상 포인터가 기본 클래스 유형이 아닌 경우 dynamic_cast가 다형성 클래스에 대해 널 포인터를 생성 할 수있는 이유는 무엇입니까?

분류에서Dev

표현식에 클래스 유형에 대한 포인터 오류가 있어야합니다.

분류에서Dev

여러 모듈이 동일한 모듈 유형을 가질 수 있습니까? 이들과 인터페이스 파일을 어떻게 구성합니까?

분류에서Dev

클래스에 대한 C ++ 포인터, 클래스 인스턴스가 해제 된 함수를 호출하는 것이 좋습니다.

분류에서Dev

클래스 멤버에 대한 포인터에 대한 몇 가지 질문

분류에서Dev

nullptr을 가리키는 포인터에 대한 포인터를 얻을 수 있습니까?

분류에서Dev

클래스에 대한 데이터 바인딩에 문제가 있습니까?

Related 관련 기사

  1. 1

    파생 클래스에 대한 포인터가 Base 클래스를 먼저 생성합니까?

  2. 2

    내 클래스 (다른 클래스에 대한 포인터 컨테이너)가 공용 생성자에 액세스 할 수없는 것 같습니다.

  3. 3

    클래스 내 모든 정의 가능한 항목에 대한 포괄적 인 용어가 있습니까?

  4. 4

    import 문이 클래스의 크기를 증가 시킵니까?

  5. 5

    Scala의 모든 시퀀스에 대한 유형 클래스가 있습니까?

  6. 6

    '클래스에 대한 인수 생성자가 없습니다.'

  7. 7

    노드가 사용자 정의 클래스에 대한 모듈을 찾을 수 없습니다.

  8. 8

    객체에 대한 포인터는 여전히 첫 번째 메모리 할당을 가리 킵니다.

  9. 9

    포인터에 대한이 포인터가 중복됩니까?

  10. 10

    Perl : 파생 클래스가 기본 클래스에서로드 한 모듈을 사용하도록합니다.

  11. 11

    C ++에서 기본 클래스에 대한 포인터가 주어 졌을 때 파생 클래스 개체에 대한 오버로드 된 함수가 호출되지 않는 이유는 무엇입니까?

  12. 12

    QList QList <Class *>에 클래스에 대한 포인터 추가

  13. 13

    클래스에 대한 포인터가 함수 호출을 통해 값을 변경할 수있는 이유는 무엇입니까?

  14. 14

    왜 모든 경우에 shared_ptr 생성에 대한 원시 포인터가 허용됩니까?

  15. 15

    Static_cast는 사용자 정의 변환 연산자가 정의 된 경우에도 클래스에 대한 포인터 캐스팅을 거부합니다.

  16. 16

    스택 변수에 대한 포인터가 휘발성이어야합니까?

  17. 17

    객체가 아닌 클래스에 대한 참조 / 포인터를 얻는 방법은 무엇입니까?

  18. 18

    클래스에 대한 포인터의 C ++ 함수가 작동하지 않습니까?

  19. 19

    클래스에 대한 기본 생성자가 없습니다.

  20. 20

    해당 개체의 클래스가 다른 부스트 모듈에서 선언 된 경우 부스트를 사용하여 C ++ 개체에 대한 포인터를 파이썬에 반환하는 방법은 무엇입니까?

  21. 21

    C ++ 상속 : 기본 클래스에 대한 파생 클래스 포인터가 파생 클래스 메서드를 호출합니다.

  22. 22

    구조 유형에 대한 포인터에서 파생 된 모든 포인터가 동일합니까?

  23. 23

    대상 포인터가 기본 클래스 유형이 아닌 경우 dynamic_cast가 다형성 클래스에 대해 널 포인터를 생성 할 수있는 이유는 무엇입니까?

  24. 24

    표현식에 클래스 유형에 대한 포인터 오류가 있어야합니다.

  25. 25

    여러 모듈이 동일한 모듈 유형을 가질 수 있습니까? 이들과 인터페이스 파일을 어떻게 구성합니까?

  26. 26

    클래스에 대한 C ++ 포인터, 클래스 인스턴스가 해제 된 함수를 호출하는 것이 좋습니다.

  27. 27

    클래스 멤버에 대한 포인터에 대한 몇 가지 질문

  28. 28

    nullptr을 가리키는 포인터에 대한 포인터를 얻을 수 있습니까?

  29. 29

    클래스에 대한 데이터 바인딩에 문제가 있습니까?

뜨겁다태그

보관