2011. 6. 27. 01:59

[ GCC 전역 옵션]

옵션

설명

-E

전처리 과정 화면에 출력

-S

어셈블리 파일 생성

-c

오브젝트 파일 생성

-v

컴파일 과정 화면에 출력

--save-tmps

컴파일 시 생성되는 중간 파일 저장

-da

컴파일 과정에서 생성되는 중간 코드 생성(RTL 파일 등 생성)

 

[ 전처리기(cpp0) 옵션]

옵션

설명

-l[패스]

헤더 파일을 탐색할 디렉토리 지정 (ex_: -l/opt/include)

-include[헤더 파일 패스]

해당 헤더 파일을 모든 소스 내 추가 (ex_: -include /root/my.h)

-D[매크로]

외부에서 #define 지정 (ex_: -DDEBUF)

-D[매크로]=[매크로 값]

외부에서 해당 매크로를 정의하고 값을 지정 (ex_: -DDEBUG=1)

-U[매크로]

외부에서 #endef 지정 (ex_ -UDEBUG)

-M 또는 -MM

make 기술 파일을 위한 소스 파일의 종속 항목 출력

-nostdinc

표준 C 헤더 파일을 include하지 않음

-C

전처리 과정에서 주석을 제거하지 않음

-Wp,[옵션 리스트]

옵션 리스트를 전처리기에 바로 전달

 

[ C컴파일러(cc1) 옵션]

- C 언어 옵션 -

옵션

설명

-ansi

ANSI C 문법으로 문법 검사

-std=[c 표준]

지정한 C 표준으로 문법 검사 (표준:c89, c99, gnu89, gnu99 등)

-traditional

K&R C문법으로 문법 검사

-fno-asm

asm, inline, typeof 키워드를 사용하지 않음(gnu89 문법 기준)

- 경고 옵션 -

-Wall -W

모든 경고 메시지 출력

-w

모든 경고 메시지 제거

-Werror

모든 경고를 오류로 취급하여 컴파일 중단

-pedantic

C89 표준에서 요구하는 모든 경고 메시지를 표시

-pedantic-errors

C89 표준에서 요구하는 모든 오류 메시지를 표시

-Wtraditional

ANSI C와 K&R C 간에 서로 다른 결과를 가져올 수 있는 부분이 있다면 경고

- 최적화 옵션 -

-O0

아무런 최적화를 수행치 않음

-O1 또는 -O

최적화 레벨 1 수행

-O2

최적화 레벨 2 수행

-O3

최적화 레벨 3 수행

-O4

사이즈 최적화 수행

- 디버깅 옵션 -

-g

바이너리 파일에 디버깅 정보 삽입

-pg

프로파일을 위한 코드 삽입

 

[ 어셈블리(as) 옵션]

옵션

설명

-Wa,[옵션 리스트]

어셈블러에게 옵션 리스트를 바로 전달

-Wa,-al

어셈블된 코드와 인스트럭션을 보임

-Wa,-as

정의된 심볼을 보임

 

[ 링크(ld) 옵션]

옵션

설명

-L[패스]

라이브러리 탐색 디렉토리 지정 (ex_: -L/opt/lib)

-l[라이브러리 이름]

해당 라이브러리를 링크 (ex_: -lm)

-shared

공유 라이브러리를 우선하여 링크

-static

정적 라이브러리를 우선하여 링크

-nostdlib

표준 C 라이브러리를 사용하지 않음

-Wl,[옵션 리스트]

옵션 리스트를 링크에 바로 전달

Posted by devanix