메뉴 건너뛰기

OBG

정보게시판

조회 수 418 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

리눅스 상에서 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 및 관련 도서

?

  1. 윈도우 7 - 용량 확보, 심볼릭 링크

  2. 스마트폰, 퍼스널 컴퓨팅의 중심에 서다

  3. 스티브 잡스는 ‘현실’기반의 보수적 혁신가

  4. 이음과 해체의 무한 변주, ‘쿼라’의 완결성

  5. [펌] 명박이형 전봇대 좀 뽑아줘 - 게임 심의

  6. 카카오톡 해킹, 진실은?

  7. 음향관련 측정수치 및 그래프에 관한 기본지식

  8. 사람은 언제 추위를 느끼는가

  9. NASA 발표에 대해 쉽게 정리한 글

  10. 차세대 웹의 특징, "황금의 삼각형"

  11. 아이폰 크랙어플 다운 사이트

  12. 간단한 블루스크린 원인 알아보기

  13. 간단한 gcc + Makefile 사용법

  14. 인텔 모바일 CPU 호환성 가이드(Intel Mobile Processor Compatibility Guide) - CPU 업그레이드 관련

  15. 웹캠 USB전원 문제

  16. 가상피시 Virtualbox

  17. 아이폰으로 활용하고 있는 수많은 기능들 정리

  18. 만화로 보는 DSLR 입문

  19. 지식채널 E <죽음의 딜레마>.BGM

  20. 한국에서 기초과학이 발전할 수 없는 이유.jpg

Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19
위로