gcc 옵션정리
gcc 전역 옵션
- 옵션
- 설명
-E- 전처리 과정 화면에 출력
-S- 어셈블리 파일 생성
-c- 오브젝트 파일 생성
-v- 컴파일 과정 화면에 출력
--save-temps- 컴파일시 생성되는 중간 파일 저장
-da- 컴파일 과정에서 생성되는 중간 코드 생성(RTL파일 등 생성)
전처리기(cpp0)옵션
옵션 설명
-l[패스]- 헤더 파일을 탐색할 디렉토리 지정 ex_ -l/opt/include
-include [헤더 파일 패스]- 해당 헤더 파일을 모든 소스 내 추가 ex_ -include /root/my.h
-D[매크로]- 외부에서 #define 지정 ex_ -DDEBUG
-D[매크로]=[매크로 값]- 외부에서 해당 매크로를 정의하고 값을 지정 ex_ -DDEBUG=1
-U[매크로]- 외부에서 #undef 지정 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 키워드를 사용하지 않음
- 경고옵션
옵션 설명
-Wall -W- 모든 경고 메시지 출력
-w- 모든 경고 메시지 제거
-Werror- 모든 경고를 오류로 취급하여 컴파일 중단
-pedantic- C89 표준에서 요구하는 모든 경고 메시지를 표시
-pedantic-error- C89 표준에서 요구하는 모든 오류 메시지를 표시
-Wtraditional- ANSI C와 K&R C 간에 서로 다른 결과를 가져올수 있는 부분이 있다면 경고
최적화 옵션
옵션 설명
-O0- 아무런 최적화를 수행치 않음
-O1또는-O- 최적화 레벨 1수행
-O2- 최적화 레벨 2 수행
-O3- 최적화 레벨 3 수행
-Os- 사이즈 최적화 수행
- 디버깅 옵션
옵션 설명
-g- 바이너리 파일에 디버깅 정보 삽입
-pg- 프로파일을 위한 코드 삽입
출처
- (유닉스, 리눅스 프로그래밍) 필수 유틸리티 : vi, make, gcc, gdb, cvs, rpm