GNU Compiler Collection 4편
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 12,590 조회
- 0 추천
- 목록
본문
GNU Compiler Collection 4편<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
ㅇ 제작 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 개발팀
ㅇ SULINUX 홈페이지 : www.sulinux.net
ㅇ 리눅스포털 홈페이지 : www.superuser.co.kr
1. 전처리기 조절
GCC에서 명령행 옵션을 이용하여 전처리기 조절
- -E 옵션을 이용하여 전처리 과정이 끝나면 컴파일을 멈출 수 있음
- 전처리기 옵션
o -Dname : 전처리기 매크로 name의 값을 1로 정의
o -Dname=def : 전처리기 매크로 name의 값을 주어진 def으로 정의
o -Uname : 전처리기 매크로 name의 정의를 삭제
o -undef : 공용,표준 매크로를 제외하고 다른 모든 시스템과
관련된 매크로정의삭제
예 제
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
2. 디렉토리 검색 경로 수정
디렉토리 검색 경로 조작 옵션
예제
$ gcc 뻀 /usr/local/libxml12 -I- -I /usr/local/include/netdev fibonacci.c
#include 뱇ibxml12/xmlpos.h”
#include <netdev/devname.h>
#include <libxml12/xmlpos.h>
#include <netdev/devname.h>
※ - I 옵션의 기본동작 : 해당 경로의 시스템 헤더와 사용헤더를 모두 찾음
-I- 앞의 뻀옵션 :해당 경로의 사용헤더만 모두 찾음
-I- 뒤의 뻀옵션 : 해당 경로의 시스템 헤더와 사용헤더를 모두 찾음
3. 링커 조작
링커 조작 옵션
예 제
- 오브젝트 코드로 컴파일
$ gcc -c calc_fib.c
$ gcc -c fibonacci.c
- 오브젝트 파일을 최종 바이너리 파일로 링크
$ gcc fibonacci.o calc_fib.o - fibonacci
- 바이러니 파일삭제
$ rm fibonacci
- 오브젝트 파일로 아카이브 파일 생성
$ ar rcs libcalc_fib.a calc_fib.o
- 오브젝트 파일과 아카이브 파일 링크
$ gcc fibonacci.o -o fibonacci -L . -Icalc_fib
4. 어셈블러 옵션 전달 옵션
GCC에서는 무시되고 어셈블러에게 직접옵션전달 가능
- Wa,opt : 여러 개가 opt옵션을 쉼표로 구분해서 지정
5. error 메시지 on/off
경고는 잠재적인 에러가 될 수 있다.
- GCC가 출력하는 경고의 개수와 종류를 조절하는 옵션
- 언어의 기능에 영향을 미치는 언어에 관련된 옵선
자주 사용되는 옵션 설명
- -pedantic : ISO 표준에 요구되는 모든 경고를 출력
ISO C프로그램을 엄격하게 만족하는지 확인하기 위한 목적으로
사용 금물
불필요한 코드를 찾기, GNU 확장기능 off, traditional C 제거
하기위해 사용
- -Wformat : printf() 함수 계열에 입력된 인자에 대해 주어진 형식과
맞지 않을 때 경고
- -Wformat : printf() 함수 계열에 입력된 인자에 대해 잠재적인 보안 문제 경고
- -Werror : 경고 를 오류로 바꾸어 컴파일을 중단시킴
- -Wunsed : Wunsed 류의 옵션을 모두 켬
-Wunsed-function : 선언은 되었지만 정의되지 않은 함수에 대해 경고
-Wunsed-label : 선언은 되었지만 사용되지 않은 레이블에 대해 경고
-Wunsed-parameter : 선언은 되었지만 사용되지 않은 함수 매개변수에
대해 경고
-Wunsed-value : 사용되지 않은 계산 결과에 대해 경고 출력
-Wunsed-variable : 선언되었지만 사용되지 않은 변수에 대해 경고
4. 디버깅 정보 추가
GCC는 사용자의 디버깅을 돕기위한 여러가지 옵션을 제공
-g, -ggdb : 디버깅 정보를 실행 파일에 포함 시킴
-a, -ax : 프로파일링 정보를 표시 (GCC 3.x 버전 이상에서는 삭제)
코드를 프로파일링 하거나 컴파일러 자체를 디버깅할 때 유용한 옵션
-fprofile-arce : 프로그램이 실행하는 동안 어떤 실행경로가 얼마나 자주
불리는지 기록한 덤프파일을 기록하는 프로그램 삽입.
소스파일 이름에 .du를 추가한 파일이 생성
-ftest-coverage : 커버리지 테스트프로그램인 gcov에서 사용하는 데이터를생성
-p : prof에서 사용하는 프로팡리링 정보를 덤프하는 추가적인 코드 생성
-pg : gprof 에서 사용하는 프로팡리링 정보를 덤프하는 추가적인 코드 생성
관련자료
-
이전
-
다음