C++ 시각화 릴리스 정보

© Copyright International Business Machines Corporation 2006. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

릴리스 정보

1.0 제한사항
   1.1 템플리트 전문 지원
   1.2 익명의 C++ 유형의 필드 및 메소드 편집
   1.3 중첩된 C++ 유형의 필드 및 메소드 편집
2.0 알려진 문제점 및 해결 방법
   2.1 규정된 이름의 유형 정의
   2.2 코드 변경 및 색인으로 다이어그램 새로 고치기

1.0 제한사항

1.1 템플리트 전문 지원

일반 C++ 템플리트는 시각화와 편집이 가능합니다. 하지만 CDT 지원이 부족하기 때문에 템플리트 전문화와 부분적인 전문화는 지원되지 않습니다. 현재 UI에서는 전체 및 부분적인 전문화의 시각화 항목이 사용 가능합니다. 예를 들면, 다음과 같습니다.
template <class T> class MyVec {
 T* data;
 int length;
}; 

이것은 일반 템플리트입니다. 일반 템플리트의 시각화는 가능합니다.

template <> class MyVec<bool> {
 unsigned int * data;
 int length;
}; 

이것은 전문 템플리트입니다. 전문 템플리트에 대한 시각화는 실패합니다.

1.2 익명의 C++ 유형의 필드 및 메소드 편집

필드 및 메소드 편집은 익명의 C++ 유형에 지원되지 않습니다. 예를 들면, 다음과 같습니다.
class c1 {
   class {int j;} abc;    // 구성원 abc의 유형은 클래스에 어떤 유형 이름도 제공되지 않도록 정의되었으므로 익명의 유형입니다.
};

필드 abc의 유형은 익명의 클래스입니다.

필드, 메소드 및 열거형 리터럴의 추가 또는 삭제와 같은 편집 조작이 다이어그램에서 수행될 때 현재 C++ 시각화에서는 델타 변경 처리가 불가능합니다. 따라서 C++ 시각화 편집 기능은 익명의 유형에 사용 불가능합니다. 일반적으로 편집 기능이 사용 가능하도록 가능한 한 이름 지정된 유형으로 작업하도록 합니다. 이러한 작업이 가능하지 않은 경우 직접 코드를 편집해야 합니다.

1.3 중첩된 C++ 유형의 필드 및 메소드 편집

익명의 이름 공간에 중첩된 C++ 유형의 필드 및 메소드 편집이 지원되지 않습니다. 예를 들면, 다음과 같습니다.

namespace {   // 익명의 이름 공간
    class c1 {};
}

클래스 c1은 익명의 이름 공간에 중첩된 이름 지정된 유형입니다.

필드, 메소드 및 열거형 리터럴의 추가 또는 삭제와 같은 편집 조작이 다이어그램에서 수행될 때 현재 C++ 시각화에서는 익명의 이름 공간에 중첩된 이름 지정된 유형에 대한 변경사항 처리가 불가능합니다. 따라서 C++ 시각화 편집 기능은 익명의 이름 공간에 중첩된 이름 유형에 사용 불가능합니다. 일반적으로 편집 기능이 사용 가능하도록 가능한 한 이름 지정된 이름 공간으로 작업하도록 합니다. 이러한 작업이 가능하지 않은 경우 직접 코드를 편집해야 합니다.

2.0 알려진 문제점 및 해결 방법

2.1 규정된 이름의 유형 정의

규정된 이름의 유형 정의는 C++ 시각화에 지원되지 않습니다. 예를 들면, 다음과 같습니다.

namespace n1 {
   class c1;    // class c1의 다음 선언
}
class n1::c1{ int i;};   //  완전한 이름을 사용한 class c1의 정의입니다.

C++ 시각화에서는 위와 같은 클래스 c1의 정의 및 시각화 실패를 처리할 수 없습니다.

해결 방법: 위의 코드에 해당하는 다음 코드를 사용하십시오.

namespace n1 {
 class c1{ int i;};
}

2.2 코드 변경 및 색인으로 다이어그램 새로 고치기

유형에 있는 구성원의 추가/삭제 또는 요소 이름 바꾸기를 포함한 코드의 변경사항은 시각화 다이어그램에 반영되지 않습니다. 이에 대한 가장 일반적인 원인은 CDT의 변경 알림이 부적절하거나 불충분하기 때문입니다.

해결 방법: 파일을 임시로 변경하고 한 번 더 코드를 저장하십시오. 또한 CDT로 작성된 C/C++ 색인이" 코드와 일치하지 않을 수도 있습니다. 일부 항목이 누락된 경우 C/C++ 색인에 대한 빠른 확인(뷰 표시 > 기타 > C/C++ > C/C++ 색인)으로 색인 갱신이 문제점임을 알 수 있습니다. 이런 경우 프로젝트의 색인을 다시 빌드하는 것이 좋습니다. 하지만 색인을 다시 빌드하면 많은 양의 프로젝트의 경우 시간이 많이 걸리므로 상황에 맞게 사용해야 합니다. 다이어그램에 관련 요소를 표시하려면 전체 C/C++ 색인기 옵션을 선택하십시오.