리눅스 상에서 gcc 사용하는 방법
1. 컴파일 하는 법
$> gcc -c main.c
gcc -c book.c
이와 같이 하면 해당 c파일에 대한 오브젝트 파일이 생성된다.
2. 실행 파일 생성 및 링킹하는 법
$> gcc -o booklist book.o list.o main.o
이와 같이 하면 생성된 오브젝트 파일들을 링크하여 booklist라는 실행파일(exe)이 생성된다.
* tip
2번에서와 같이 오브젝트 파일들의 양이 많아지는 경우에는
Makefile을 사용하면 한 번에 컴파일 및 링킹/실행 파일 생성이 가능하다.
아래의 내용을 Makefile로 저장을 한다.(리눅스 상에서 gedit나 쉘 상에서 emacs, vi, vim을 이용한다)
주의할 점은 확장자 없이 바로 Makefile로 저장을 하고 첫 글자는 일반적으로 대문자 M으로 쓴다.
/* Makefile */
BIN = booklist /* 실행 파일 이름 */
OBJECTS = book.o list.o main.o /* 오브젝트 파일 이름 */
all : ${OBJECTS} /*타겟 : 오브젝트 파일 이용하여 실행 파일 생성 */
gcc -o ${BIN} ${CFLAGS} ${OBJECTS} /* 쉘 상에서 실행될 gcc 명령어 */
/* 처음에 입력한 변수명으로 대치된다. */
%.o : %.c /* C코드에 대한 컴파일 */
gcc -c -Wall ${CFLAGS} $< /* 컴파일 옵션 : -Wall은 모든 모호한 코드에 대한 경고 메시지를 보여줌 */
/* Error는 물론이고 Warning도 보여준다고 생각하면 ok */
/* ${CFLAGS} $< 의 의미는 입력파일( < 리다이렉션 )로 */
/* 현재 경로에 있는 C파일들을 모두 불러오는 것을 의미함 */
clean : /* 재컴파일시 기존 object파일을 모두 지우고 다시 생성 */
rm -rf *.o
위와 같이 Makefile을 작성하고 저장 후 쉘 상에서 make를 입력하면 컴파일~실행 파일 생성까지
한번에 완료된다.
<출처> http://wiki.kldp.org/KoreanDoc/html/gcc_and_make/gcc_and_make.html 및 관련 도서
[출처] 간단한 gcc + Makefile 사용법|작성자 조코라고