UML에서 C++로 변환의 시스템 인수를 지정하려면 다음을 수행하십시오.
| 조치 | 시스템 인수 | 기본 변환 동작 |
|---|---|---|
| 속성 및 오퍼레이션을 Public, Protected, Private 순서로 표시 | -DVISIBILITY_ORDER=true | 이 시스템 인수를 지정하지 않는 경우 생성된 코드는 Private, Protected, Public 순서로 속성 및 오퍼레이션을 나열합니다. |
| #include 지시문에서 상대 경로 정보 제외 | -DEXCLUDE_PATH_FOR_INCLUDES=true | 이 시스템 인수를 지정하지 않는 경우 변환은 상대 경로 정보를 지정하는 #include 지시문을 생성합니다. |
| 유형 매개변수로 클래스 템플리트를 선언할 때 typename 키워드 생성(예: template <typename identifier> class_declaration) | -DTYPENAME_TEMPLATES=true | 이 시스템 인수를 지정하지 않는 경우
클래스 유형의 템플리트 매개변수가 있는 템플리트 클래스를
포함하는 모델에 대해 변환을 실행할 때 생성된
선언에는 class 키워드가 포함됩니다. 다음 예제를 고려하십시오. ![]() 기본적으로
변환은 TemplateClass1.h에서 다음 선언을 생성합니다.
template <class Parameter1>
class Class1
{
//Begin section for Class1
//TODO: Add attributes that you want preserved
//End section for Class1
public:
//@uml.annotationsderived_abstraction="platform:/resource/Miscellaneous%20Models/source.emx#_hFn-0GaLEdyC-b6mj80KQA"
//@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)"
int Operation1()
{
//TODO Auto-generated method stub
return 0;
}
}; //end class Class1
</class>
-DTYPENAME_TEMPLATES=true를 지정하는 경우
변환은 TemplateClass1.h에서 다음 선언을 생성합니다.
template <typename Parameter1>
class Class1
{
//Begin section for Class1
//TODO: Add attributes that you want preserved
//End section for Class1
public:
//@uml.annotationsderived_abstraction="platform:/resource/Miscellaneous%20Models/source.emx#_hFn-0GaLEdyC-b6mj80KQA"
//@generated "UML to C++ (com.ibm.xtools.transform.uml2.cpp.CPPTransformation)"
int Operation1()
{
//TODO Auto-generated method stub
return 0;
}
}; //end class Class1</typename>
|
| 헤더 파일에서 인라인 함수 코드 생성 | -DINLINE_HEADER=true | 이 시스템 인수를 지정하지 않는 경우 변환은 C++ 본문 파일에서 인라인 함수에 대한 코드를 생성합니다. |
| C++ 본문 파일에 대한 대체 파일 이름 확장자 지정 | -DBODY_FILE_EXTENSION=.<file name
extension> 예를 들어 파일 이름 확장자가 .cc인
C++ 본문 파일을 생성하려면 -DBODY_FILE_EXTENSION=.cc를 지정하십시오.
주: «cpp_properties»
스테레오타입을 소스 모델 요소에 적용하는 경우
bodyFileExtension 특성의 값은 eclipse.ini 파일에서 지정하는 값을
대체합니다.
|
이 시스템 인수를 지정하지 않는 경우 변환은 파일 이름 확장자가 .cpp인 C++ 본문 파일을 생성합니다. |