평소에 즐겨쓰던 컴파일러인 gcc의 옵션 정리를 해봤다. 매번 책을 참고 하기는 좀 그렇고 해서 책의 부록에 나온 부분을 정리해 보았다. 물론 이 정리 부분은 추후에 추가되거나 보완될수 있다.
참고한 책은 (유닉스, 리눅스 프로그래밍) 필수 유틸리티 : vi, make, gcc, gdb, cvs, rpm 이라는 책이다.
빌린 책이라서 이렇게 정리를 해봤다. 저작권에 위배가 된다면 지우겠다. [#M_ 옵션정리 보기 | 글 닫기 |
gcc 옵션정리
gcc 전역 옵션
옵션 |
설명 |
---|---|
-E |
전처리 과정 화면에 출력 |
-S |
어셈블리 파일 생성 |
-c |
오브젝트 파일 생성 |
-v |
컴파일 과정 화면에 출력 |
–save-temps |
컴파일시 생성되는 중간 파일 저장 |
-da |
컴파일 과정에서 생성되는 중간 코드 생성(RTL파일 등 생성) |
전처리기(cpp0)옵션
옵션 |
설명 |
---|---|
-I[패스] |
헤더 파일을 탐색할 디렉토리 지정 ex_ -I/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 표준으로 문법검사(표준: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
#정리 : http://gogamza.egloos.com
_M#]
gcc 옵션 정리 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.