티스토리 뷰
반응형
5. 데이터형 규정
5. 2 고정 크기 정수
규정
- 정수형의 크기가 중요하다면 고정 길이 데이터형을 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 |
- 키워드인 short, long은 사용할 수 없다.
- 키워드인 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' 카테고리의 다른 글
[STM32] 타이머 설정 (0) | 2021.01.17 |
---|---|
macOS 환경에서 아이패드 리디북스에 폰트 설치하기 (0) | 2020.12.29 |
[ECCS] 데이터형 명명 관례 (0) | 2020.10.17 |
[ECCS] 파일 템플릿 (0) | 2020.10.17 |
[ECCS] 소스 파일 (0) | 2020.10.17 |
댓글