Summry
C 코드에서 u8, u16, u32, u64 또는 s8, s16, s32, s64 라는 자료형을 보았을 것이다.
본 문서에서는 위의 자료형을 정리한다.
send me email if you have any questions.
u, s 의미
u8, u16, u32, u64, s8, s16, s32, s64는 각각 unsinged 8bit, 16bit, 32bit, 64bit 그리고 singed 8bit, 16bit, 32bit, 64bit이다.
각 OS(architecture) 마다 재정의된 내용이며, 이를 사용하는 목적은 int, float, double 등의 자료형은 architecture 마다 크기가 틀려질 수 있기 때문에 이를 방지하고 원하는 크기의 자료형을 사용하기 위해 명시적으로 쓰이는 자료형이다.
compiler 호환성 체크
if (sizeof(u8) != 1 || sizeof(u16) != 2 || sizeof(u32) != 4 || '\0' != 0){
fprintf(stderr, "%s: compiler incompatibility\n", argv[0]);
exit(255);
}
Reference
PREVIOUS시스템 콜(System Call)