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 : 정적 라이브러리 우선링크
'Language > C' 카테고리의 다른 글
named pipe / FIFO (0) | 2011.09.15 |
---|---|
01. 링킹의 기본 이해 (0) | 2011.09.08 |
02. 알아두면 정말 유용한 C소스 컴파일 과정(3) (0) | 2011.09.08 |
02. 알아두면 정말 유용한 C소스 컴파일 과정(2) (0) | 2011.09.08 |
02. 알아두면 정말 유용한 C소스 컴파일 과정(1) (0) | 2011.09.08 |