[linux] gcc를 이용한 소스 코드 빌드 과정

2025. 10. 21. 14:46·Embedded Systems/리눅스

gcc를 이용한 소스 코드 빌드 과정을 그림으로 그려봤다.

linux에서 gcc 컴파일러를 이용한 소스코드 빌드 과정은 windows의 빌드와 동일하게 컴파일과 링크 과정으로 나눌 수 있다.

컴파일 과정은 소스코드를 어셈블리어인 목적 파일(object code)로 만드는 과정이다.

그 순서는 가장 먼저 #include나 #define과 같은 전처리기들을 처리한 뒤, ccl이라는 컴파일러와 as라는 어셈블러를 통해 목적 파일을 생성한다. 이 때 stdio.h나 unistd.h 같은 헤더 파일이 별도로 필요하다.

 

링크는 여러 목적 파일들을 묶어 하나의 실행파일로 만드는 과정이다. 링크를 할 때는 정적 혹은 공유 라이브러리가 필요하다.

링크 과정이 끝나면 실행파일(a.out)이 생성된다!

 

'Embedded Systems > 리눅스' 카테고리의 다른 글

[Linux] 디바이스 드라이버란 무엇일까?  (0) 2025.10.27
[Linux] 리눅스의 프로그래밍 도구 (GCC, make, gdb 유틸리티)  (0) 2025.10.27
부트로더(bootloader)란 무엇인가?  (0) 2025.10.21
/bin/bash^M: bad interpreter: No such file or directory 오류  (0) 2022.06.09
[WSL] Conda: "command not found" 에러 (우분투 환경)  (0) 2022.03.16
'Embedded Systems/리눅스' 카테고리의 다른 글
  • [Linux] 디바이스 드라이버란 무엇일까?
  • [Linux] 리눅스의 프로그래밍 도구 (GCC, make, gdb 유틸리티)
  • 부트로더(bootloader)란 무엇인가?
  • /bin/bash^M: bad interpreter: No such file or directory 오류
jh-rrr
jh-rrr
기술의 깊이에 집중하며 성장하길 지향합니다.
  • jh-rrr
    Embedded World
    jh-rrr
  • 전체
    오늘
    어제
    • 분류 전체보기 (64)
      • 소프트웨어 (17)
        • 프로그래밍 (2)
        • C (10)
        • Python (1)
        • 운영체제 (3)
        • 네트워크 (0)
      • Embedded Systems (16)
        • 리눅스 (10)
        • MCU 기본 (2)
        • 임베디드 레시피 (0)
      • Projects (1)
        • Cortex-M3 (1)
        • 재난 구조 로봇 (0)
      • AI (11)
        • Computer Vision (2)
        • Deep Learning (3)
        • cs224n (2)
        • cs231n (2)
      • 취업 준비 (0)
        • 프로젝트 & 자격증 (1)
      • 엔지니어링 뉴스 (3)
      • Paper Reviews (4)
      • Insights (8)
        • Seminar ! (2)
        • 서평 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    커널 이미지
    OS 이미지
    stm32f 시리즈를 이용한 arm cortex-m3/m4 구조와 응용
    커널 이미지란
    일귀
    리눅스
    kernel image 란
    conda: command not found
    essential deep learning paper reading
    리눅스 오류
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
jh-rrr
[linux] gcc를 이용한 소스 코드 빌드 과정
상단으로

티스토리툴바