[WEEK 05] C - C 언어 기초

신호정 벨로그·2021년 9월 2일
0

Today I Learned

목록 보기
16/89

C 언어 구조, 기능에 대한 전반적인 이해 및 기초 문법

C 언어의 주요 특징

  1. 많은 운영체제가 C 언어를 포함
  2. 시스템 깊숙한 곳의 접근/조종이 쉬움
  3. C#, C++ 등 다른 언어의 학습이 빠름
  4. 빠른 동작속도
  5. 절차지향적

컴파일(Compile)은 작성한 코드를 컴퓨터가 이해할 수 있게 변환하는 과정을 의미한다.

gcc -0 hello hello.c

GCC 컴파일러 드라이버는 소스파일 hello.c를 읽어서 실행파일인 hello로 번역한다. 네 단계를 실행하는 프로그램들(전처리기, 컴파일러, 어셈블러, 링커)을 합쳐서 컴파일 시스템이라고 부른다.

  1. 전처리 단계: 전처리기(cpp)는 본래의 C 프로그램을 #문자로 시작하는 디렉티브(directive)에 따라 수정한다.
  2. 컴파일 단계: 컴파일러(cc1)는 텍스트파일 hello.i를 텍스트파일인 hello.s로 번역하며, 이 파일에는 어셈블리어 프로그램이 저장된다.
  3. 어셈블리 단계: 어셈블러(as)가 hello.s를 기계어 인스트럭션으로 번역하고, 이들을 재배치가능 목적프로그램의 형태로 묶어서 hello.라는 목적파일에 그 결과를 저장한다.
  4. 링크 단계: 링커 프로그램(ld)은 통합작업을 수행한다. 그 결과인 hello 파일은 실행가능 목적파일로 메모리에 적재되어 시스템에 의해 실행된다.

0개의 댓글