• 이번에는 소스 파일이 여러개일때를 생각해보자.


/*

*    filename : message.c

*/

#include <stdio.h>

void goodbye_world(void)

{

        printf("Goodbye, World ! \n");

}


/*

*    filename : main.c

*/

#include <stdio.h>

void goodbye_world(void);

int main(int argc, char **argv)

{

        goodbye_world();

        exit(0);

}


  • 위와 같이 소스파일이 2개가 있을경우를 생각하자.
  • 여기서 두가지 방법이 있다.
  • 첫번째 방법은 각각 파일을 컴파일 및 어셈블리 변환을한다.( 링크는 하지 않는다. ) 그 이후 링크로 연결한다.
  • 이후 생성되는 .o 는 gcc의 산물이다.
$ gcc -c message.c
$ gcc -c main.c
$ gcc -o goodbye message.o main.o
$ ./goodbye
  • 두번재 방법은 두개의 파일을 한번에 한다.
$gcc -o goodbye message.c main.c
$ ./goodbye

  • 이렇게 보니깐... 두번째 방법이 쉬워 보인다. ㅋ
  • gcc 에서 '-c' : Compile and assemble, but do not link 이다.



+ Recent posts