추가설명) 소스코드와 명령어_c언어 컴파일 과정

song·2023년 4월 4일
0

C언어 컴파일 과정

전처리기(preprocessor)컴파일러(compiler)어셈블러(assembler)링커(linker)

전처리 과정(preprocessing)

  • 컴파일하기 전에 처리할 작업들
  • 외부에 선언된 소스 코드, 라이브러리 포함 (ex. #include)
  • 매크로 변환 (ex. #define)
  • 컴파일할 영역 명시 (ex. #if, #ifdef, ...)

컴파일 과정 (compiling)

  • 전처리가 완료 되어도 여전히 소스 코드
  • 전처리 완료된 소스 코드를 저급 언어(어셈블리 언어)로 변환

어셈블 과정 (assembling)

  • 어셈블리어를 기계어로 변환
  • 목적 코드(object file)를 포함하는 목적 파일이 됨

목적 파일 vs 실행 파일

  • 둘 다 기계어로 이루어진 파일
  • 하지만 목적 파일과 실행 파일은 다름
  • 목적 파일에서 링킹(linking)을 거친 후 실행 파일이 됨 (링킹은 외부 기능들을 연결 짓는 작업)

<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.04.04)


책과 강의를 통해 학습한 내용을 요약 정리했습니다.
profile
인간은 적응의 동물

0개의 댓글