코딩하는 공무원

gcc 컴파일 옵션 본문

컴퓨터과학

gcc 컴파일 옵션

코딩펀 2013. 3. 10. 15:22

gcc -W -Wall -O2 -o hello hello.c

모든 경고 메시지를 출력하고 최적화 2단계로 hello.c 소스코드를 컴파일해서 hello 실행파일을 만든다.

-O0, 또는 별도 옵션 없음

최적화를 수행하지 않는다. 컴파일 시 최적화 옵션을 붙이지 않으면 이 옵션과 같다. 또한 인라인 함수가 사용돼도 확장되지 않는다. 리눅스 커널같이 인라인 함수가 많은 소스를 컴파일 할 경우엔 최적화를 하지 않을 시 문제가 발생한다.

-O, 또는 –O1

최적화를 하지 않을 때보다 속도향상과 사이즈감소가 있다. 인라인 함수도 확장된다.않을 시 문제가 발생한다.

-O2

가장 많이 사용하는 최적화 옵션이고 일반 응용 프로그램이나 커널 컴파일시 사용된다. 대부분의 최적화를 수행한다.

-O3

모든 함수를 인라인 함수와 같이 취급한다. (함수를 호출할 때 call 인스트럭션을 사용하지 않고 호출) 가장 높은 레벨의 최적화라고 해서 가장 빠른 것도 아닐뿐더러 너무 많은 소스의 변경이 생기기 때문에 왜곡이 발생할 수 있으므로 사용하지 않는 것이 좋다.

-Os

사이즈 최적화를 수행한다. 임베디드 시스템 같은 곳에서 사용한다.

 

gcc -DDEBUG -o hello hello.c

디버그용 컴파일

gcc –O hello hello.c

릴리즈용 컴파일

gcc -std=c99 –O hello hello.c

1999년에 제정한 C 표준을 지정

gcc –ansi  –O hello hello.c

GNU C89 문법으로 컴파일

Comments