로그인

검색

조회 수 1346 추천 수 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. 음향관련 측정수치 및 그래프에 관한 기본지식

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

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

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

  5. 간단한 gcc + Makefile 사용법

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

  7. 웹캠 USB전원 문제

  8. 가상피시 Virtualbox

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

  10. 모질라 썬더버드(Thunderbird) 백업과 복구

  11. 윈도우 파일 시스템 FAT32를 NTFS로 변환하기

  12. C: 용량 늘리기

  13. 수학공식 액션스크립트 예제

  14. 리눅스 한글설정

  15. 마이크로소프트, 윈도 폰 7 시리즈 공식 발표

  16. 첨단 IT서비스

  17. 리눅스 FTP 언어설정 관련

  18. 윈도우7- 배경화면을 동영상으로, 드림씬을 아시나요?

  19. 핸드폰관련 - 에이징이란?

  20. vi 명령어 모음

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10