ABOUT ME

  • vim editor(vim 편집기) - Makefile을 이용한 분할 컴파일
    Linux/vim 편집기 2020. 7. 6. 22:39
    반응형
    #include <stdio.h>
    void grade_estimate(int grade);
    int main(void)
    {
    int grade = 0;
    scanf("%d", grade);
    grade_estimate(grade);
    return 0;
    }
    void grade_estimate(int grade)
    {
    if (grade >= 90 && grade <= 100)
    {
    printf("A\n");
    }
    else if (grade >= 80 && grade <= 89)
    {
    printf("B\n");
    }
    else if (grade >= 70 && grade <= 79)
    {
    printf("C\n");
    }
    else if (grade >= 60 && grade <= 69)
    {
    printf("D\n");
    }
    else
    {
    printf("F\n");
    }
    }
    view raw grade_split.c hosted with ❤ by GitHub

    위의 코드를 vim 편집기에서  Makefile 을 이용해 분할 컴파일 해본다.

     

    11) vim 편집기를 통해 main.c , grade_estimate.c, common.h를 작성해 준다.

     

    main.c

     

    grade_estimate.c

     

    common.h

     

     

    2) 명령어를 통해 Makefile 을 작성해준다.

     

     

     

    1행 : execute : 실행 파일의 이름

    5행 : 반드시 맨 앞을 Tab으로 띄어야 한다

     

    | 오류 

    코드를 작성하다가 6행의 object 파일을 만드는 과정에서 grade_estimete.c 가 아니라 grade_estimate.o  로 잘 못

    기입하면 상호 의존성은 무시된다는 메세지가 뜬다. 

    컴파일은 잘 되지만 주의 할것!

     

     

    컴파일을 할때 make를 해주기 전에 make clean을 해주면 생성되었던 object 파일들과 실행 파일이 삭제 된다.

     

    | 실행결과

     

     

     

    |매크로 사용하기

     

    $@: 현재 Target 이름

     

    $^: 현재 Target이 의존하는 대상들의 전체 목록

     

    $<: 현재 Target이 의존하는 대상들의 첫번째

     

    Object 들만 정의 해준 경우

    4행 : CFLAGS로 정의해준 -g 는 디버깅에 필요하다

     

    Makefile의 매크로

    마지막 그림의 1행에 object 파일만 추가 해주면 다른 파일들도 추가로 컴파일이 가능하다.

    728x90

    댓글

Designed by Tistory.