Post

04. C Language(Execution File)

04. C Language(Execution File)

[toc]

C 프로그램 실행 파일 생성 과정

이번 학습에서는 C 언어로 작성된 프로그램이 어떻게 실행 가능한 파일로 만들어지는지를 단계별로 알아보았다. 소스 파일 → 목적 파일 → 실행 파일의 흐름을 이해하면 컴파일러와 링커의 역할을 보다 명확하게 파악할 수 있다.


1. 전체 과정 개요

  • C 프로그램은 다음과 같은 단계를 거쳐 실행 파일로 만들어진다.

프로그래밍 생성 과정

  • 일반적으로 개발자는 소스 파일까지만 작성하고, 그 이후 컴파일과 실행 파일 생성 과정은 개발 도구가 처리한다.
  • 만약 컴파일 과정에서 오류가 발생하면, 해당 단계에서 중단되며 실행 파일이 생성되지 않는다.

2. 소스 파일 (*.c)

  • C 언어의 문법으로 작성된 원시 코드 파일
  • 텍스트 기반으로 저장되며, 확장자는 .c를 사용한다.
  • 협업과 유지 보수의 관점에서 관례를 따르는 것이 좋다.

예시: C - .c, C++ - .cpp, Java - .java, C# - .cs


3. 목적 파일 (*.obj)

  • 컴파일러가 소스 파일을 번역하여 생성한 중간 결과물
  • 사용자가 직접 만들 필요는 없으며, 자동 생성됨

❓ 목적 파일이 필요한 이유

  • 모든 소스 파일을 매번 전부 다시 컴파일하면 매우 비효율적임
  • 소스 파일을 나누어 관리하면 일부만 수정 시 해당 파일만 다시 컴파일 가능
  • 변경되지 않은 파일의 목적 파일은 그대로 재사용하여 전체 빌드 시간을 절약함

목적 파일이 없다면 프로그램 개발 시간이 훨씬 더 길어졌을 것이다.


4. 실행 파일 (*.exe)

  • 목적 파일들을 링커(Linker)가 연결하여 만들어지는 최종 실행 가능한 파일
  • 기계어로 구성되어 컴퓨터가 직접 실행할 수 있는 형태
  • 더 이상의 컴파일 없이 바로 실행 가능

⚠ 운영체제별 확장자 차이

  • Windows: .exe
  • Linux: (확장자 없음, 실행 권한 부여)
  • macOS: (Mach-O 형식, 응용 프로그램 패키지로 감싸 사용)

📌 정리
C 프로그램은 .c 소스 파일에서 시작하여 .obj 목적 파일을 거쳐 .exe 실행 파일로 최종 완성된다. 이 과정을 이해하면 컴파일 오류의 원인이나 빌드 속도 최적화에도 도움이 되며, 협업 시에도 보다 효율적인 개발이 가능해진다.


이미지 출처: https://byunghyun23.tistory.com/2

End