이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
생성된 코드에서 데이터를 표현하기 위해 내장 및 사전 정의된 스토리지 클래스 사용
생성된 코드에서 데이터 요소의 표시 방식과 배치 위치를 제어하려면 내장 스토리지 클래스나 Embedded Coder® 사전의 미리 정의된 스토리지 클래스를 사용하십시오. 요구 사항을 충족할 스토리지 클래스를 선택할 때는 해당 스토리지 클래스의 미리 정의된 속성과 사용자 지정 가능한 속성을 모두 고려하십시오. 각 내장 또는 사전 정의된 스토리지 클래스와 그 속성에 대한 개요는 Choose Storage Class for Controlling Data Representation in Generated Code를 참조하십시오.
나열된 스토리지 클래스로는 충족되지 않는 특별한 요구 사항이 있고, ERT 기반 타깃에 대한 코드 생성을 수행하는 경우, 새로운 스토리지 클래스를 정의하여 사용할 수 있습니다. Define Service Interfaces, Storage Classes, Memory Sections, and Function Templates for Software Architecture와 사용자 지정 스토리지 클래스 디자이너를 사용하여 스토리지 클래스 생성를 참조하십시오.
속성에 따라 내장형 또는 사전 정의된 스토리지 클래스 선택
다음 테이블에는 데이터를 표현하기 위해 내장형 또는 사전 정의된 스토리지 클래스를 선택할 때 고려해야 할 주요 속성이 나열되어 있습니다. 특정 스토리지 클래스의 일부 속성은 사용자 지정 가능하지만, 다른 속성은 미리 정의되어 있으며 테이블에 명시적으로 표시됩니다. 여기서 는 스토리지 클래스가 적용된 데이터 요소를 포함하는 현재 모델을 가리킵니다.model
각 스토리지 클래스 및 해당 구성 가능한 속성(Owner 포함)에 대한 자세한 내용은 Choose Storage Class for Controlling Data Representation in Generated Code를 참조하거나 테이블에서 스토리지 클래스 이름을 클릭하십시오. 모든 스토리지 클래스 속성(Owner 제외) 및 해당 구성 설정에 대한 자세한 내용은 Embedded Coder Dictionary를 참조하거나 테이블에서 해당 속성 이름을 클릭하십시오.
사용자 지정 가능한 HeaderFile 속성을 가진 스토리지 클래스의 경우:
스토리지 클래스에
DataScope설정이 노출되어 있는 경우, 자세한 내용은 내보낸 범위 데이터 선언 파일 패키징를 참조하십시오.스토리지 클래스에
DataScope설정이 임포트된 경우, 자세한 내용은 가져온 스코프 데이터 선언 파일 패키징를 참조하십시오.
사용자 지정 가능한 DefinitionFile 속성을 가진 스토리지 클래스에 대한 자세한 내용은 데이터 정의 파일 패키징를 참조하십시오.
| 스토리지 클래스 | Storage Type | Data Scope | Data Initialization | Header File | Definition File | 소유자 | Preserve array dimensions |
|---|---|---|---|---|---|---|---|
| ExportedGlobal | Unstructured | Exported | Auto | | | | off |
| ImportedExtern, ImportedExternPointer | Unstructured | Imported | 몇 가지 신호와 상태: 기타 데이터: 외부 코드에서 | 사용자 지정 가능 | 외부 코드에서 | | off |
| Const, Volatile, and ConstVolatile | Unstructured | Exported | Auto | 사용자 지정 가능 | 사용자 지정 가능 | 사용자 지정 가능 | 사용자 지정 가능 |
| Define, ImportedDefine | Unstructured | Exported | Macro | 사용자 지정 가능 | 없음 | | off |
| ExportToFile | Unstructured | Exported | Auto | 사용자 지정 가능 | 사용자 지정 가능 | 사용자 지정 가능 | 사용자 지정 가능 |
| ImportFromFile | Unstructured | Imported | 외부 코드에서 | 사용자 지정 가능 | 외부 코드에서 | | 사용자 지정 가능 |
| FileScope | Unstructured | File | Auto | 없음 | | | 사용자 지정 가능 |
| Localizable | Unstructured | 함수 또는 파일 범위: 전역 범위: | 함수 범위: 함수 내부의 파일 또는 전역 범위: 함수 외부의 | 함수 또는 파일 범위: 없음 전역 범위: 사용자 지정 가능 | 함수 범위: 함수 소스 파일 파일 범위: 전역 범위: 사용자 지정 가능 | | 사용자 지정 가능 |
| Struct | Structured | Exported | Auto | | | | off |
| Bitfield | Structured | Exported | Auto | | | | off |
| GetSet | Unstructured | Imported | 외부 코드에서 | 외부 코드에서 | 외부 코드에서 | | 사용자 지정 가능 |
| CompilerFlag | Unstructured | Imported | Macro | 없음 | 없음 | | off |
| Reusable | Unstructured | 사용자 지정 가능 | Dynamic | 파일 범위: 없음 내보내기 또는 가져오기 범위: 사용자 지정 가능 | 파일 범위: 내보내기 또는 가져오기 범위: 사용자 지정 가능 | 사용자 지정 가능 | off |
| MultiInstance | 단일 인스턴스: 다중 인스턴스: | Exported | 단일 인스턴스: 다중 인스턴스: 없음 | | 단일 인스턴스: 다중 인스턴스: 없음 | | off |
참고
다음 두 조건이 모두 충족될 경우, 코드 생성기는 Localizable 스토리지 클래스에 매핑된 데이터를 초기화하지 않습니다:
이 데이터는 초기값이 0인 함수 범위 변수로 표현됩니다.
모델 파라미터 지역 변수를 0 값으로 초기화하는 설정 제거가 활성화되었습니다.
코드 생성기는 Owner 속성이 현재 모델과 다른 모델 이름으로 설정된 스토리지 클래스에 매핑된 데이터를 정의하거나 초기화하지 않습니다. 데이터 정의 파일 패키징 항목을 참조하십시오.
스토리지 클래스 및 데이터 선언과 정의
생성된 코드 내의 데이터 요소에 대한 선언 및 정의는 해당 데이터 요소에 할당된 스토리지 클래스의 속성에 따라 달라집니다. 다음 테이블들은 내장 또는 사전 정의된 스토리지 클래스가 코드 내의 선언문과 정의문을 어떻게 제어하는지를 요약한 것입니다.
데이터 선언 및 파라미터 정의
| 스토리지 클래스 | 선언 | 정의 |
|---|---|---|
ExportedGlobal | extern |
|
ImportedExtern | extern | 외부 코드 |
ImportedExternPointer | extern | 외부 코드 |
Const | extern const | const |
Volatile | extern volatile | volatile |
ConstVolatile | extern const volatile | const volatile |
Define | #define | 없음 |
ImportedDefine | #define | 없음 |
ExportToFile | extern |
|
ImportFromFile | extern | 외부 코드 |
FileScope | static | static |
Struct | 유형 정의: typedef struct struct_name_tag {
datatype identifier;
} struct_name_type;선언: extern struct_name_type struct_name; | |
Bitfield | 유형 정의: typedef struct struct_name_tag {
datatype identifier : nbits;
} struct_name_type;선언: extern struct_name_type struct_name; | |
GetSet | 외부 코드 | 외부 코드 |
CompilerFlag | 없음 | 없음 |
MultiInstance | 단일 인스턴스: extern datatype identifier; 다중 인스턴스: typedef struct {datatype identifier;} model_T; | 단일 인스턴스: datatype identifier = value; 다중 인스턴스: 없음 |
루트 레벨 I/O 데이터, 신호, 상태 및 데이터저장소에 대한 데이터 선언 및 정의
| 스토리지 클래스 | 선언 | 정의 |
|---|---|---|
ExportedGlobal | extern |
|
ImportedExtern | extern | 외부 코드 |
ImportedExternPointer | extern | 외부 코드 |
Volatile | extern volatile | volatile |
ExportToFile | extern |
|
ImportFromFile | extern | 외부 코드 |
FileScope | static | static |
Localizable | 함수 범위: datatype identifier; 파일 범위: static datatype identifier; 전역 범위: datatype identifier; | 함수 범위: datatype identifier; 파일 범위: static datatype identifier; 전역 범위: datatype identifier; |
Struct | 유형 정의: typedef struct struct_name_tag {
datatype identifier;
} struct_name_type;선언: extern struct_name_type struct_name; | |
Bitfield | 유형 정의: typedef struct struct_name_tag {
datatype identifier : nbits;
} struct_name_type;선언: extern struct_name_type struct_name; | |
GetSet | 외부 코드 | 외부 코드 |
Reusable | 파일 범위: static datatype identifier; 내보내기 또는 가져오기 범위: extern datatype identifier; | 파일 범위: static datatype identifier; 내보낸 범위: datatype identifier; 가져온 범위: 외부 코드 |
MultiInstance | 단일 인스턴스: extern datatype identifier; 다중 인스턴스: typedef struct {datatype identifier;} model_T; | 단일 인스턴스: datatype identifier; 다중 인스턴스: 없음 |
스토리지 클래스, 데이터 선언 및 정의, 파일 패키징
내보낸 범위 데이터 선언 파일 패키징
다음 테이블은 다음 스토리지 클래스에 대해 데이터 선언의 파일 배치 방식이 데이터 선언 모델 파라미터 및 (사용 가능한 경우) HeaderFile 속성에 따라 어떻게 달라지는지를 요약한 것입니다:
ExportToFileConstVolatileConstVolatileDefineLocalizable(전역 범위)Reusable(내보낸 범위)
| 데이터 선언 | HeaderFile | 위치 |
|---|---|---|
Auto | 없음 |
|
InSourceFile | 없음 |
기타 스토리지 클래스: 생성된 선언이 없습니다 |
InSeparateHeaderFile | 없음 | 데이터 선언 파일 이름로 지정된 헤더 파일(예: |
| 모든 설정 | | |
가져온 스코프 데이터 선언 파일 패키징
다음 테이블은 다음 스토리지 클래스에 대해 데이터 선언의 배치 방식이 파일 패키징 형식 모델 파라미터와 (사용 가능한 경우) HeaderFile 속성에 따라 어떻게 달라지는지를 요약한 것입니다:
ImportedExternImportedExternPointerImportedFromFileReusable(가져온 범위)
| 파일 패키징 형식 | HeaderFile | 위치 |
|---|---|---|
Modular | 없음 | |
Compact | 없음 | |
CompactWithDataFile | 없음 | |
| 모든 설정 | | |
데이터 정의 파일 패키징
다음 테이블은 다음 스토리지 클래스에 대해 데이터 정의의 파일 배치 방식이 데이터 정의 모델 파라미터 및 (사용 가능한 경우) DefinitionFile 및 Owner 속성에 따라 어떻게 달라지는지를 요약한 것입니다.
ExportToFileConstVolatileConstVolatileLocalizable(전역 범위)Reusable(내보낸 범위)
| 데이터 정의 | DefinitionFile | Owner | 위치 |
|---|---|---|---|
Auto | 없음 | 없음 또는 현재 모델명 |
|
InSourceFile | 없음 | 없음 또는 현재 모델명 |
|
InSeparateSourceFile | 없음 | 없음 또는 현재 모델명 | 데이터 정의 파일 이름로 지정된 헤더 파일(예: |
| 모든 설정 | | 없음 또는 현재 모델명 | |
| 모든 설정 | 기타 모델명 | 데이터 정의 배치를 위해 데이터 객체의 소유자 사용가 활성화되었을 때 정의가 생성되지 않음 |
참고 항목
도움말 항목
- Choose Storage Class for Controlling Data Representation in Generated Code
- C Data Code Interface Configuration for Model Interface Elements
- Control Placement of Global Data Definitions and Declarations in Generated Files
- Organize Parameter Data into a Structure by Using Struct Storage Class
- Control Ownership of Data