C에서 들여오기: 지원되는 기능

이 절에서는 C 데이터 유형을 MRM 데이터 유형에 맵핑할 때 C 임포터에서 사용하는 디폴트 값에 대해 설명합니다.

아래 표는 C 정의가 메시지 모델에서 XML 스키마 설정값에 영향을 미치는 방식을 표시합니다. 일부 xsd 유형의 뒤에는 '-'가 있습니다. 이것은 이 유형에 근거한 익명의 단순 유형임을 표시합니다. 문자열에서 익명 유형의 목적은 길이 제한을 추가하는 것이며, 숫자 유형에서 이 유형의 목적은 최소 및/또는 최대 값 제한을 추가하는 것입니다.

팩된 데이터 구조 데이터 유형은 C 임포터 범위에서 벗어납니다.

C 데이터 유형 논리 유형
Char xsd:string- 길이=1
Char[10] xsd:string- 길이=10
Char[10][3] xsd:string- 길이=3
Char[10][3][6] xsd:string- 길이=6
사인이 없는 Char xsd:unsignedByte  
사인이 없는 Char[2] xsd:unsignedByte  
사인이 있는 Char xsd:byte  
사인이 있는 Char[2] xsd:byte  
Int xsd:int  
Int[2] xsd:int  
Int[2][3] xsd:int  
사인이 없는 Int xsd:unsignedInt  
Short xsd:short  
사인이 없는 Short xsd:unsignedShort  
Long xsd:int  
Long Long Int xsd:long  
Float xsd:float  
Double xsd:double  
Long Double (주 1 참조) xsd:double  
<임의의 포인터 유형> xsd:hexBinary- 길이=(주 2 참조)
<임의의 나열>   (주 3 참조)

다음 표는 C 정의가 메시지 모델에서 생성된 요소의 물리적 CWF 특성에 영향을 미치는 방식을 표시합니다.

C 데이터 유형 CWF 물리적 유형 CWF 길이 특성 기타 CWF 특성
Char 고정 길이 길이 수 = 1

길이 단위 = 바이트

 
Char[10] 고정 길이 길이 수 = 10

길이 단위 = 바이트

왼쪽 맞추기
Char[10][3] 고정 길이 길이 수 = 3

(및 최대 발생 수 = 10)

길이 단위 = 바이트

왼쪽 맞추기
Char[10][3][6] 고정 길이 길이 수 =6

(및 최대 발생 수 = 30)

길이 단위 = 바이트

왼쪽 맞추기
사인이 없는 Char 정수 길이 수 = 1 사인됨 = no
사인이 없는 Char[2] 정수 길이 수 = 1

(및 최대 발생 수 = 2)

사인됨 = no
사인이 있는 Char 정수 길이 수 = 1 사인됨 = yes
사인이 있는 Char[2] 정수 길이 수 = 1

(및 최대 발생 수 = 2)

사인됨 = yes
Int 정수 길이 수 = 4 사인됨 = yes
Int[2] 정수 길이 수 = 4

(및 최대 발생 수 = 2)

사인됨 = yes
Int[2][3] 정수 길이 수 = 4

(및 최대 발생 수 = 6)

사인됨 = yes
사인이 없는 Int 정수 길이 수 = 4 사인됨 = no
Short 정수 반복 수 = 2 사인됨 = yes
사인이 없는 Short 정수 반복 수 = 2 사인됨 = no
Long 정수 길이 수 = 4 (주 4 참조) 사인됨 = yes
Long Long Int 정수 길이 수 = 8 사인됨 = yes
Float Float 길이 수 = 4  
Double Float 길이 수 = 8  
Long Double (주 1 참조) Float 길이 수 = 8  
<임의의 포인터 유형>   (주 2 참조)  
<임의의 나열> 정수 (주 3 참조)  
주:
  1. C 임포터 옵션 long double 크기를 128비트로 설정하지 마십시오. 이것은 정상적으로 올 수 없습니다. 디폴트 64비트를 사용하십시오.
  2. 다음과 같이 주소 크기 C 임포터가 길이에 영향을 미칩니다.
    • 32 비트의 경우, CWF 길이 수 = 4바이트
    • 64 비트의 경우, CWF 길이 수 = 8바이트
  3. 다음과 같이 나열 크기 C 임포터 옵션이 나열의 유형 및 길이에 영향을 미칩니다.
    • 1의 경우: 논리 유형 = xsd:byte, CWF 물리적 유형 = 정수, CWF 길이 수 = 1바이트
    • 2의 경우: 논리 유형 = xsd:short, CWF 물리적 유형 = 정수, CWF 길이 수 = 2바이트
    • 4의 경우: 논리 유형 = xsd:int, CWF 물리적 유형 = 정수, CWF 길이 수 = 4바이트
    • 압축의 경우: 나열에 맞는 가장 작은 표현이 선택됩니다.
  4. 다음과 같이 주소 크기 C 임포터가 long 길이에 영향을 미칩니다.
    • 32 비트: CWF 길이 수 = 4바이트
    • 64비트의 경우: CWF 길이 수 = 8바이트
  5. Java 언어 키워드와 상충되는 요소 이름은 접두부에 단일 밑줄 문자를 사용하여 수정됩니다.
  6. _Packed 키워드는 지원되지 않습니다. ANSI C 선언만 지원됩니다.
  7. C long long 데이터 유형은 지원되지 않습니다.
  8. C++ 오브젝트 지향 확장자는 지원되지 않습니다. ANSI C 선언만 지원됩니다.
  9. CWF 길이 수가 4로 설정된 xsd:integer로 포인터를 들여옵니다.
  10. 순환적 C 구조는 지원되지 않습니다. 중첩 구조에 상위 구조와 동일한 이름을 가진 구조가 포함된 경우, 들여오기는 이루어지지만 논리적 정의는 올바르지 않습니다. 이러한 문제를 방지하려면 중첩 구조의 이름이 외부 또는 상위 구조의 이름과 동일하지 않도록 해야 합니다.
관련 개념
메시지 모델링
메시지 모델
관련 태스크
메시지 모델 개발
메시지 정의 파일 관련 작업
메시지 모델 오브젝트에 대한 작업
관련 참조
메시지 모델 참조 정보
메시지 모델 오브젝트 등록 정보
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ad06890_