uint8_t, uint32_t등은 stdint.h를 보면 알 수 있습니다.
platform마다 datatype의 크기가 다르기 때문에 portability를 지원하기 위해서
uint8_t,uint32_t등이 있습니다.
C 언어의 표준으로 규정되어 있는 부호 및 부호 없는 고정 길이 정수는 위와 같다.
이유는 다음과 같다. ISO가 개발한 C 언어 표준 "ISO / IEC 9899"에서는 char 또는 short, int, long, long long 같은 데이터 형식의 길이(비트 길이)에 대한 처리 계에 마다 정의하는 것이 허용되며 이식성 문제를 일으킨다.
1999년에 개정된 "ISO / IEC 9899:1999"에서도 이 문제의 잠재적인 원인은 해결되지 않았지만 표 1에 표시한 비트 길이를 고유하게 정의한 데이터 형식이 추가되었다. 이 새로운 형식은 "stdint.h"라는 헤더 파일에 정의되어있다.
한마디로 32비트와 64비트의 데이터 길이의 변화에 따른 버그,에러를 막기 위해서 define해서 사용하는거~ 리눅스, 임베디드 계열에서는 많이 사용한단다.
'AVR & ARM(Coretex-M3)' 카테고리의 다른 글
X-CTU 설치파일 (Zigbee 테솔꺼..) (0) | 2011.02.07 |
---|---|
스위치 채터링 (0) | 2011.01.23 |
Stm32f103RBT6 데이터 쉬트 및 Reference Manuals (Rm0008) (0) | 2011.01.11 |
flash_loader_demonstrator_(v2.2)-um0462 +(2.0, 2.1 버전) (2) | 2010.12.31 |
[ARM] Bit banding (4) | 2010.12.23 |