Makefile에 관한 질문입니다.
글쓴이: firehole / 작성시간: 화, 2005/01/11 - 6:55오후
안녕하세요...?
어떤 Make 파일 내용을 보니..아래와 같았습니다.
===================================
STATIC_LIBS = ../../lib/linux22/static/AA.a
DYNAMIC_LIBS = ../../lib/linux22/dynamic/BB.so.1
===================================
이런 부분이 있는데....STATIC_LIBS, DYNAMIC_LIBS가 어떤
차이가 있는지 궁금합니다.
초보라 잘 모르겠습니다....답변 부탁드립니다...
좋은 하루 되십시요...
Forums:
컴파일 할 때 같이 묶어서(link) 컴파일 하느냐(STATIC)와
컴파일 할 때 같이 묶어서(link) 컴파일 하느냐(STATIC)와
실행 할 때 선택적으로(또는 동적으로) 불러 오느냐(DYNAMIC)의 차이죠.
더 이상 없다.
static 으로 컴파일을 하게 되면 같은 머신(예를 들어 리눅스)에서는
static 으로 컴파일을 하게 되면 같은 머신(예를 들어 리눅스)에서는 어디서든 사용이 가능합니다.
이건 프로그램을 컴파일 할때 필요한 것들을 한거번에 묶어서 실행 파일을 만들어 주기 때문입니다.
그러나 이러한 이유로 컴파일 해서 나온 파일의 크기가 아주 크지게 됩니다.
hello.c 같은 경우도 몇 메가가 됩니다.
그러나, dynamic 으로 컴파일을 하게 되면 소스에 있는 부분만 컴파일을 해서 결과물을 만들어 내게됩니다.
이는 컴파일 한 머신에 있든 라이브러리가 실행하고자 하는 머신에도 꼭 있어야 합니다.
왜냐면 실행을 하고자 할때에 관련 라이브러리를 현재의 머신에서 찾아서 실행을 하게되기 때문입니다.
참고가 되셨길...
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
답변 감사합니다.
답변 잘 읽어 봤습니다.
상세히 설명해 주셔서 감사합니다.
좋은 하루 되세요..
댓글 달기