본문 바로가기

Linux/GCC

gcc 컴파일러의 필수 옵션

<Compile driver options>


-E    전처리한 후의 결과를 화면에 표시한다. 하지만 거의 안씀

-S    어셈블리 파일을 얻을 수 있다. 

-c    오브젝트 파일만 생성하고 컴파일 과정을 멈춘다. 

-v    컴파일 과정을 화면에 보여준다. 

-save-temps    컴파일 과정에서 생성되는 중간 파일인 전처리파일(*.i)와 어셈블리 파일(*.s), 오브젝트 파일(*.o)를 지우지 않고 현재 디렉터리에 저장한다. 컴파일 과정에서 발생되는 오류 분석시 쓴다. 


<Predefine options>


-I             전처리 과정에서 헤더파일을 탐색하는 기본 디렉터리 추가

-include    헤더파일을 소스내에 추가할 때 사용한다. #include 하는것과 같다. 잘 사용은 안함. 

-D            매크로를 외부에서 define 할 때 사용, DDEBUG이런식으로 할 경우 DEBUG매크로로 컴파일 하게 된다. 

-D[매크로]=[매크로값] 매크로와 매크로의 값을 컴파일 옵션에서 추가 하는 것과 같다. 

-U[매크로]    undef를 외부에서 선언하는 것이지만 잘 사용하지 않는다. 

-M -MM      -M옵션은 make를 위한 소스파일의 모든 종속항목을 출력하고, 

-MM옵션은 기본 include디렉토리에 있는 헤더파일은 뺴고 종속 항목을 출력한다. 

-nostdinc    default include directory를 사용하지 않겠다는 의미이다. 

-C             -E옵션과 함께 상ㅇ하며 전처리 과정에서 주석을 제거하지 않는다. 

-Wp.[옵션들] gcc의 해석을 거치지 않고 바로 전처리기의 옵션으로 전달하고 싶을 때 -Wp 옵션을 사용한다.