출처 : http://msdn.microsoft.com/ko-kr/library/bb385735.aspx

 

클래스 디자이너에서 Visual C++ 코드 사용

업데이트: 2007 11

클래스 디자이너에는 프로젝트의 코드 요소를 시각적으로 나타내 주는 클래스 다이어그램이라는 시각적 디자인 화면이 표시됩니다. 클래스 다이어그램을 사용하여 프로젝트의 클래스 기타 형식을 디자인하고 시각화할 있습니다.

이전 버전 Visual Studio 클래스 디자이너에서는 Visual C# Visual Basic 같은 관리되는 언어만 지원되었습니다. Visual Studio 2008 클래스 디자이너에서는 추가로 시각화 문서화에만 사용되는 네이티브 C++ 코드가 제한적으로 지원됩니다.

클래스 디자이너에서 지원되는 C++ 코드 요소는 다음과 같습니다.

  • 클래스(상속 관계가 여러 있을 있다는 점을 제외하고는 관리되는 클래스의 모양과 비슷함)
  • 익명 클래스(익명 형식에 대해 클래스 뷰에서 생성된 이름이 표시됨)
  • 템플릿 클래스
  • 구조체
  • 열거형
  • 매크로(후처리된 매크로 뷰가 표시됨)
  • 형식 정의

 형식 확인 표시 문제 해결

소스 파일의 위치

클래스 디자이너에서는 소스 파일의 위치를 추적하지 않습니다. 따라서 프로젝트 구조를 수정하거나 프로젝트의 소스 파일을 이동하면 특히 형식 정의, 기본 클래스 또는 형식 연결의 소스 형식에 대해 클래스 디자이너에서 해당 형식을 추적할 없게 됩니다. 또한 클래스 디자이너에서 형식을 표시할 없습니다. 같은 오류가 발생할 있습니다. 경우 수정하거나 재배치한 소스 코드를 클래스 다이어그램으로 다시 끌어 다시 표시합니다.

업데이트 성능 문제

Visual C++ 프로젝트의 경우 소스 파일의 변경 내용이 클래스 다이어그램에 나타나는 데는 30-60초가 소요될 있습니다. 시간 지연으로 인해 클래스 디자이너에서 선택한 항목에서 형식을 찾을 없습니다. 오류를 throw 수도 있습니다. 이와 같은 오류가 발생하면 오류 메시지에서 취소를 클릭하고 클래스 뷰에 해당 코드 요소가 나타날 때까지 기다립니다. 그런 후에 클래스 디자이너에서 해당 형식이 표시될 있습니다.

코드에서 변경한 내용으로 클래스 다이어그램이 업데이트되지 않으면 다이어그램을 닫았다가 다시 열어 보십시오.

형식 확인 문제

클래스 디자이너에서는 다음과 같은 경우에 형식을 확인할 없습니다.

  • 클래스 다이어그램이 속한 프로젝트에서 참조되지 않는 프로젝트나 어셈블리에 형식이 있습니다. 오류를 수정하려면 해당 형식을 포함하는 프로젝트나 어셈블리에 대한 참조를 추가합니다. 자세한 내용은 방법: Visual Studio에서 참조 추가 또는 제거(Visual Basic) 참조하십시오.
  • 형식이 올바른 범위에 있지 않아 클래스 디자이너에서 해당 형식을 찾을 없습니다. 경우 코드에 using, imports 또는 #include 문이 누락되지 않았는지 확인합니다. 또한 해당 형식이나 관련 형식을 원래 있던 네임스페이스 밖으로 이동하지 않았는지 확인합니다. 자세한 내용은 네임스페이스 구성 요소 참조 참조하십시오.
  • 형식이 존재하지 않거나 주석 처리되었습니다. 오류를 해결하려면 해당 형식을 실수로 주석으로 처리하거나 삭제하지 않았는지 확인합니다.

형식 확인 문제의 경우 가장 발생하기 쉬운 오류는 클래스 다이어그램 '<element>'에서 하나 이상의 모양에 대한 코드를 찾을 없습니다.입니다. 자세한 내용은 해당 오류의 설명을 참조하십시오.

특정 오류 메시지의 문제 해결

특정 오류 메시지의 문제 해결에 대한 자세한 내용은 클래스 디자이너 오류 메시지 오류 항목을 참조하십시오.

 C++ 코드 요소에 대한 제한

  • Visual C++ 프로젝트가 로드되면 클래스 디자이너는 읽기 전용 방식으로 작동합니다. , 클래스 다이어그램을 변경할 있지만 클래스 다이어그램에서 변경한 내용을 소스 코드에 저장할 수는 없습니다.
  • 클래스 디자이너에서는 네이티브 C++ 의미 체계만 지원됩니다. 관리 코드로 컴파일된 Visual C++ 프로젝트의 경우 클래스 디자이너에는 네이티브 형식인 코드 요소만 시각화됩니다. 따라서 프로젝트에 클래스 다이어그램을 추가할 수는 있지만 IsManaged 속성이 true 설정된 요소, 형식과 참조 형식은 클래스 디자이너에 시각화되지 않습니다.
  • Visual C++ 프로젝트의 경우 클래스 디자이너에서는 형식의 정의만 읽습니다. 예를 들어 헤더 파일(.h) 형식을 정의하고 해당 멤버는 구현 파일(.cpp) 정의할 경우, 구현 파일(.cpp)에서 "클래스 다이어그램 보기" 호출하면 클래스 디자이너에 아무 것도 표시되지 않습니다. 다른 예로, #include 문을 사용하여 다른 파일을 포함하지만 실제 클래스 정의는 포함하지 않는 .cpp 파일에서 "클래스 다이어그램 보기" 호출할 경우에도 클래스 디자이너에 아무 것도 표시되지 않습니다.
  • COM 인터페이스와 형식 라이브러리를 정의하는 IDL 파일(.idl) 네이티브 C++ 코드로 컴파일되기 전까지는 다이어그램에 표시되지 않습니다.
  • 클래스 디자이너에서는 전역 함수 변수가 지원되지 않습니다.
  • 클래스 디자이너에서는 공용 구조체가 지원되지 않습니다. 공용 구조체는 해당 데이터 멤버 가장 데이터 멤버에 필요한 만큼만 메모리가 할당되는 특수한 클래스 형식입니다.
  • 클래스 디자이너에서는 int, char 등의 기본 데이터 형식이 표시되지 않습니다.
  • 클래스 디자이너에서는 현재 프로젝트에 프로젝트 외부에 정의된 형식에 대한 올바른 참조가 없을 경우 해당 형식이 표시되지 않습니다.
  • 클래스 디자이너에서 중첩된 형식을 표시할 수는 있지만 중첩된 형식과 기타 형식 사이의 관계는 표시할 없습니다.
  • 클래스 디자이너에서는 void 형식이거나 void 형식에서 파생된 형식을 표시할 없습니다.

안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히아이스
,