c - 컴파일 옵션, 빌드

markyang92·2025년 12월 27일

c

목록 보기
2/4
post-thumbnail

C89에서 기본 컴파일 명령

$ gcc -std=c89 -W -Wall -pedantic-errors main.c -o main

  • -std=c89: c89표준(ANSI C)으로 컴파일 할 것
  • -W: -Wextra
    • -Wall에서 제공하지 않는 추가적인 경고를 활성화
    • 최신 gcc에서는 -Wextra와 동일한 역할 한다.
  • -Wall: 보편적으로 유용한 모든 경고 메시지 활성화
    • all이지만 실제로는 모든 경고를 다 켜는 것은 아니고, 혼란을 줄 수 있거나 버그 소지가 다분한 일반적인 경고를 모아서 보여줌
  • -pedantic-errors
    • ISO C 표준을 엄격하게 준수하지 않는 코드에 대해 경고 대신 오류를 발생
      • -pedantic: 표준에 어긋나는 문법에 대해 경고
      • -pedantic-errors: 그 경고들을 모두 에러 처리

빌드 기본 이해

  • 컴파일은 각각 소스가. 링킹은 한번에한다.

링크

  • 링커가 담당
  • 오브젝트 코드들을 입력으로 한다.
    • 모든 오브젝트 코드들을 하나로 합친다.
  • 컴파일 때, 함수 선언만 가지고도 컴파일 된다.
    • 우선 컴파일 시, 함수 부분은 구멍으로 둔다.
    • 링크 단계에서 구멍을 메꾼다.
      • 함수 주소를 기입 해준다.
  • 링킹 단계에서 에러가 난 경우,
    • 함수 선언만 있고, (함수 선언이 없으면 아예 컴파일에서 에러니까), 함수 구현이 없는 것
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글