본문 바로가기
개발하자

[Linux] 두개의 분리된 파일을 하나의 실행파일로 합치는 과정

by 밈밈무 2021. 11. 29.

[SeparateCompile 예제]


⭐️두개의 분리된 파일을 각각 컴파일하고 하나의 실행파일로 합치는 과정

1)Home directory에 SeparateCompileExample 디렉토리를 생성하고 해당 디렉토리로 이동한다.
mkdir SeparateCompileExample

cd SeparateCompileExample


2) vi editor로 main.c 를 작성한다.

vi main.c

(편집하려면 들어가서 i 누르고 다 쓰고 저장하고 나오려면 esc키 -> :wq 입력 후 엔터)
-------------------------------------------------------------
#include <stdio.h>
#include "add.h"

void main(int argc, char* argv[])
{
        int result = 0;

        if (argc < 2) {
                printf("Usage : ./mytest <1st num> <2nd num>\n");
                return;
        }

        result = add(atoi(argv[1]), atoi(argv[2]));

        printf("Reuslt : %s + %s = %d\n", argv[1], argv[2], result);

        return;
}

-------------------------------------------------------------

3) vi editor로 add.h 를 작성한다.

vi add.h


-------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>

extern int add(int , int);
-------------------------------------------------------------

4) vi editor로 add.c 를 작성한다.
-------------------------------------------------------------
#include "add.h"

int add(int a, int b)
{
        int result;

        result = a + b;

        return result;
}
-------------------------------------------------------------

5) main.c add.c를 Compile 한다.
gcc -c main.c add.c

⭐️ls -al 해보면 main.o와 add.o가 생긴다.

6) 명령어 프람프트에서 아래 Command를 실행한다.
gcc –o mytest main.o add.o

⭐️ls -al 해보면 mytest가 생성됨(실행가능한 파일이 만들어진 것)

7) mytest을 아래와 같이 실행해본다.
 ./mytest 1 2

 

⭐️결과 => Result : 1 + 2 = 3