로그인

검색

조회 수 1039 추천 수 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 및 관련 도서

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
77 시사 국가 기강을 뒤흔든 내란급 사건임에도 지금은 조용히 묻혀진 사건.jpg file MoA 2015.11.27 462
76 교양 밥, 냉장 보관하면 칼로리 50~60칼로리 감소 MoA 2015.12.12 533
75 IT How to Edit Microsoft Word, Excel, or PowerPoint Files in Google Drive MoA 2016.02.16 582
74 교양 세계에서 가장 맛있는 음식 50 MoA 2016.05.11 561
73 교양 인버터 에어컨은 계속 켜두는게 낫다? - 측정 결과 MoA 2017.08.06 512
72 교양 인공지능 투자가 퀀트 OBG 2018.08.15 371
71 시사 의사 파업 (공공 의대 관련) OBG 2020.09.05 201
70 투자 "中 투자시 이건 꼭 알아야"…'헤지펀드 대부' 달리오의 조언 OBG 2021.08.03 89
69 투자 아무도 관심 없는 업종(1) - 광고업 OBG 2021.08.05 98
68 시사 집값 오르면 보수정권은 지지율 상승, 진보정권은 하락 OBG 2021.08.08 397
67 투자 2010년 이후 부동산 공급과 가격에 대한 간략한 정리 OBG 2021.08.09 231
66 투자 보험회사 재무분석 - 보험연구원 OBG 2021.08.14 126
65 투자 부채, 채무 OBG 2021.08.15 484
64 투자 2009. 10. 14 증시의 하이에나 검은 헤지펀드 OBG 2021.08.16 105
63 투자 제2의 테슬라, 루시드 모터스 IR 리포트 읽기 – 대담하다. 하지만 찝찝하다… OBG 2021.08.16 136
62 IT Why do you see ads for stuff you’ve already bought? OBG 2021.08.17 364
61 투자 2008년 산업은행의 리먼브라더스 인수 추진 OBG 2021.08.23 88
60 IT 트래킹과 타게팅의 종말, 이후 디지털 마케팅은? OBG 2021.08.27 244
59 투자 헝다그룹 파산과 주가 & fomc OBG 2021.09.23 175
58 투자 증권사가 부도나면 내 계좌는 어떻게 되나요 OBG 2021.09.27 128
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 Next
/ 19