03. gcc를 사용해 원하는 컴파일 하기

Language/C 2011. 9. 8. 12:16

|| 가장 단순한 컴파일 명령

gcc -W -Wall -O2 -o like like.c


|| 반드시 알아야 할 gcc 필수 옵션 및 중요 옵션


1) gcc C컴파일러 드라이버 옵션


-E : 전처리 과저의 결과를 화면에 보이는 옵션, 추가적으로 -save-temps 옵션을 사용해 like.i 파일을 읽어보는 것이 더 좋은 방법


-S : 어셈블리 파일만 생성하고 컴파일 과정을 멈춘다.


-c : 오브젝트 파일까지만 생성하고 컴파일 과정을 멈춘다.


-v : 과정 보여주기


-save-temps : 컴파일과정에서 생성되는 *.i, *.s, *.o 지우지 않고 저장한다.



2) cc1 -E 또는 cpp0 전처리기 옵션


- I : 헤더파일을 탐색하는 기본디렉토리를 추가할 때


-D : 매크로를 외부에서 define할 때 사용, 반대는 -U[매크로]


3) cc1 C 컴파일러의 옵션



* 경고 옵션


-W과 -Wall : Wall옵션은 모든 모호한 문법에 대한 경고메시지 출력, -W는 합법적이지만 모호한 코딩에 대한 부가적인 정보제공


-w : 모든 경고메시지 제거



* 최적화 옵션


-O0

-O1

-O2

-O3

-Os : 사이즈 최적화, 임베디드 시스템 같은데 사용



* 디버깅 옵션


-g : 디버거에 제공하는 디버깅 정보를 바이너리에 삽입한다.

 최적화옵션처럼 레벨이 있는데 -g0 ~g3, 기본은 g2와 동일


4) as의 옵션

생략


5) collect2 또는 ld의 옵션


-L[라이브버리 디렉토리] : 라이브러리를 찾을 디렉토리를 지정한다.


-[라이브버리 이름] : 라이브러리의 이름은 앞에 오는 lib를 떼어버리고 확장자 이전까지의 라이브러리명이다.


-shared : 공유 라이브러리를 우선 링크, 디폴트는 공유 라이브러리


-static : 정적 라이브러리 우선링크

: