5. 데이터형 규정

5. 2 고정 크기 정수

규정

  1. 정수형의 크기가 중요하다면 고정 길이 데이터형을 char, short, int, long, 또는 long long형 대신 사용해야 한다. 부호 없는 또는 부호 있는 고정 길이 정수형은 아래 표와 같다.
Integer Width Signed Type Unsigned Type
8 bits int8_t uint8_t
16 bits int16_t uint16_t
32 bits int32_t uint32_t
64 bits int64_t uint64_t
  1. 키워드인 short, long은 사용할 수 없다.
  2. 키워드인 char의 사용은 문자열에 관한 선언 및 연산으로 제한되어야 한다.

이유

C90 표준에서는 의도적으로 char, short, int, long 그리고 long long 형에 대해 고정되지 않은 크기를 허용함으로써 코드 이식성에 문제를 야기했습니다. C99 표준에서도 이 문제를 해결하지 않았지만, 위 테이블에서 보듯 stdint.h 헤더 파일에 정의된 정수형을 공개했습니다.

 

이식 가능한 고정 크기 정수형에 대한 또 다른 참조 문서:

barrgroup.com/embedded-systems/how-to/c-fixed-width-integers-c99

C99 표준과 호환되지 않는 컴파일러의 경우 typedef를 이용해 고정크기 데이터형을 정의하는 것이 허용됩니다. 필요하다면 컴파일시 확인하는 과정이 꼭 필요합니다.

시행

빌드시 매번 자동화된 도구를 이용해 short, long 키워드에 대한 체크를 해야 합니다. 코드 검토시 또 다른 규정 준수에 대해 검토해야 합니다.

 

'Digital Developer > Embedded C Coding Standard' 카테고리의 다른 글

[ECCS] 고정 크기 정수  (0) 2020.10.18
[ECCS] 데이터형 명명 관례  (0) 2020.10.17
[ECCS] 파일 템플릿  (0) 2020.10.17
[ECCS] 소스 파일  (0) 2020.10.17
[ECCS] 헤더 파일  (0) 2020.10.10
[ECCS] 모듈 명명 관례  (0) 2020.10.10

+ Recent posts