← 질문 목록
#194깊이 0

소스 코드가 실행 파일로 변하는 과정은 무엇인가?

운영체제기초빌드·배포

전처리기, 컴파일러, 어셈블러, 링커가 순차적으로 처리한다.

  1. 소스 코드
  2. 그다음은 전처리기입니다. 매크로 확장 및 헤더 포함

    전처리기
  3. 그다음은 컴파일러입니다. 어셈블리 코드로 변환

    컴파일러
  4. 그다음은 어셈블러입니다. 기계어로 변환

    어셈블러
  5. 그다음은 링커입니다. 실행 파일 생성

    링커

전처리기는 #include와 같은 지시문을 처리한다. 불필요한 주석을 제거하고 매크로를 실제 값으로 치환한다.

컴파일러는 전처리된 코드를 어셈블리 언어로 바꾼다. 구문 오류와 타입 같은 정적 오류를 잡고 최적화한다. 논리가 틀린 것은 못 잡는다.

어셈블러는 이를 CPU가 읽는 이진 기계어로 바꾼다. 하지만 이 단계의 파일은 다른 모듈과의 연결 정보가 없다.

링커는 여러 오브젝트 파일을 하나로 합친다. 외부 함수 호출부의 실제 메모리 주소를 연결해 최종 실행 파일을 만든다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

소스 코드가 실행 파일로 변하는 과정은 무엇인가?