본문 바로가기

Programming/C2

C언어 <stdint.h> 란? stdint.h를 사용하는 이유 stdint.h는 c99 표준 라이브러리의 헤더파일입니다. 이번엔 stdint.h 가 무엇이며 왜 사용하는가에 대해 알아보겠습니다. stdint.h는 코드 이식성을 고려할때 때문에 사용합니다. 차근차근 알아봅시다. 일반적으로 C언어에서 흔히 사용되는 int 혹은 long 데이터 타입은 이식성 문제를 일으킬 수 있습니다. 그 이유는 int 나 long 타입 변수는 C언어 표준에 정의되어 있지않습니다. 그럼 어떻게 인식되냐? 라고 물으시면 이것은 컴파일러에 달려있습니다. 컴파일러 설계자는 타겟 플랫폼 하드웨어 기능에 따라 이 int나 long같은 타입 변수의 용량을 선택할 수 있습니다. 예를 들어, XC8 컴파일러에서는 signed int를 2bytes라고 지정하고 있습니다. 그 이유는 PIC 8-bit 마.. 2023. 2. 8.
c언어/c++ 컴파일 과정, 빌드 과정, 링커(Linker) 컴퓨터는 저희 개발자들이 사용하는 고급언어(C, C++, Java, Python 등)를 이해하지 못합니다. 몇 단계의 과정을 통해 컴퓨터가 알아들을 수 있는 0과 1의 저급 언어로 변환해줘야 합니다. 그래서 이번에는 이 빌딩 과정을 알아보려 합니다. 1. 전처리 (Preprocess) #include int main(){ printf("Hello world"); return 0; } 위의 코드로 작성 된 hello.c 라는 소스 코드 파일이 있다고 합시다. hello.c 파일이 전처리 과정을 거칠 때 주석을 제거하고 #으로 시작되는 명령어들을 처리합니다. 예를들어 #include, #define ~ 같은 코드들을 처리하는 것이죠. 전처리 과정이 끝난 후엔 hello.i 라는 파일이 생성됩니다. gcc 에.. 2023. 2. 8.