컴파일, makefile

David8·2022년 4월 3일
0

Linux

목록 보기
3/10

컴파일

  1. 헤더파일 컴파일(내가 만든 헤더파일)
    1. 헤더파일 생성(product.h)
    2. 구현파일 생성(product.c) --> #include "product.h"
    3. 목적 파일 생성(product.o) --> 메인 함수가 없으므로 실행 파일을 만드는 것이 아닌 목적 파일을 만듬, main.c 함수와 함께 컴파일
      1. gcc -c product.c --> product.o 생성
    4. 실행파일 만들기
      1. gcc product.o main.c -o product

makefile

  1. makefile 실행 과정
    1. makefile 파일 생성
    2. 명령어 이름(target) : 사용 파일(dependency)
      [tab] command

      shop: main.c menu.o guest.o
      [tab] gcc -o main.c menu.o guest.o

    3. 사용 파일에 해당하는 목적 파일이 없느 경우는 c코드를 알아서 목적 파일로 만들어서 사용
  2. special macros
    1. $@ 현재 타켓 이름
    2. $^ dependency 전체
  3. 조건부 컴파일
    1. ifdef [매크로] --> 매크로 정의가 되어 있으면 실행
    2. endif --> #ifdef 문이 끝난 것을 알림
  4. gdb(gnu debugger)
    1. 컴파일(-g 옵션포함)
      1. gcc -g -o 실행파일 코드파일 --> 디버깅용 파일이 만들어짐
      2. gdb 실행파일
    2. 명령어
      1. run, r: 프로그램 시작
      2. quit, q: gdb 종료
      3. step: 한줄씩 실행
      4. list, l: 소스 파일 보여줌
      5. break, b: break 포인트 설정
      6. conticue, c: 다음 브레이크 포인트까지 실행
      7. display [변수명]: 변수값 출력
      8. bt: 현재 프로그램의 스택을 보여줌
      9. info locals: 함수의 지역변수를 출력

0개의 댓글