[Linux] GCC

박의진·2023년 7월 7일
0

TABA3기

목록 보기
11/16
post-thumbnail
post-custom-banner

GCC

  • GNU Compiler Collection
  • GNU 프로젝트의 오픈 소스 컴파일러 컬렉션
  • 1987년 리처드 스톨만 개발
  • UNIX/Linux 표준 컴파일러

GCC command structure

gcc "파일명"

  • Options:
    • o: 지정된 이름으로 실행파일 생성 (지정 안 할 시, a.out으로 생성)
    • c: 오브젝트 파일(.o) 생성
    • l: 같이 링크할 라이브러리 지정
    • v: 컴파일 수행 메세지 표시
    • s: 어셈블리* 파일 생성
    • g: 디버깅 옵션, gdb에서 제공하는 정보 삽입
      *어셈블리: 기기가 이해할 수 있는 컴퓨터 언어

Make

  • GNU 프로젝트의 빌드 자동화 소프트웨어
    • UNIX 계열 운영 체제를 대상으로 개발
    • 여러 파이를의 각 의존성과각 파일에 대한 명령을 정의
    • Make를 위한 ㅇ특정 형식 파일인 Makefile 존재
    • Makefile을 Make가 해석하여 프로그램 빌드를 자동화 해줌
    • Source Code의 일부만 변경된 경우, 변경된 부분만 다시 컴파일하여 링크함

Makefile basic structure

Make macro

  • Macro:
    • 변수 이름들은 $사용
    • $(변수): 변수
    • $@: 현재 목표 파일 (target)
    • $<: 현재 목표 파일보다 더 최근에 갱신된 파일
post-custom-banner

0개의 댓글