[ 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,[옵션 리스트] |
댓글 없음:
댓글 쓰기