http://program.egloos.com/1373351



-o
옵션: gcc에서 만들 실행 파일명을 정하는 것. 안지정하면 a.out
%gcc -o filter filter_driver.c define_stack.c global_var.c


-c 옵션 : 컴파일하지만 링크하지는 않는 다는 것을 의미
%gcc -c filter_driver.c


-D 옵션 : 소스코드의 #define 문과 같다. 심볼에 대한 값을 지정
% gcc -c -DDOC_FILE=\"info\" -DUSE_POLL filter_driver.c
첫 번째 -D 옵션은 DOC_FILE 을 info 라는 문자열로 대치한다는 것
두 번째 -D 옵션은 USE_POLL 심볼을 정의한다.


-U 옵션 : 외부에서 #undef ex_ -UDEBUG

-I 옵션 : 헤더파일이 위치한 디렉토리 지정
% gcc -c -I../headers filter_driver.c


-l 옵션 : 라이브러리를 지정. 파일명과 함께 붙여 쓴다.
% gcc -o plot main.o plot_line.o -lm
-lm 옵션은 수학 라이브러리를 포함한다는 것을 지정


-L 옵션 : 라이브러리 폴더를 찾아서 지정
% gcc -o plot -L/src/local/lib main.o plot_line.o -lm


-E 옵션 : 프로그램을 컴파일 하는 대신 전처리된 코드를 표준 출력으로 내보냄 <전처리>

-S 옵션 : 어셈블리 언어로 나온 결과를 저장 .c 대신 .s 가 붙는 파일을 만들어 낸다.<컴파일>

-c 옵션 : .o 로 끝나는 오브젝트 파일 생성 <어셈블>

 


[ C 언어 옵션 ]
-v 옵션 : (verbose) 컴파일러의 버전과 각 단계에서 실행하는 자세한 사항을 출력 (어떤 옵션으로 컴파일 하였는지)

-w 옵션 : 모든 경고 메시지가 나오지 않도록

-W 옵션 : 합법적이지만 다소 모호한 코딩에 대하여 부가적인 경고 메시지를 출력

-Wall 옵션 : 모호한 코딩에 대하여 훨씬 더 자세한 경고 메시지를 출력

 

 

 


[ 라이브러리 지정 옵션 ]

 

 

-static 옵션 : 공유 라이브러리가 아닌 정적 라이브러리와 링크

-shared 옵션 : 가능한 한 공유 라이브러리와 링크하고 공유 라이브러리가 없는 경우에는 정적 라이브러리와 링크

 

 

 


[ 디버깅, 프로파일링 옵션 ]

 

 

-p 옵션 : 프로그램을 prof 로 프로파일링 할 수 있도록 링크. mon.out 파일 생성됨. 프로그램 실행 통계 수치를 담고 있다.

+ Recent posts