티스토리 뷰

Major optons

There are zillions of them, but there are some the most often used ones:

 

- To compile : -c

- Specify output filename: -o <filename>

- Include debugging symbols: -g

- GDB friendly output: -ggdb

- Show all (most) warnings: -Wall

- Be stubborn about standards: -ansi and -pedantic

- Optimizations: -O, -O*

 

Compiler path options

-I dir : 해당 디렉토리에 있는 헤더파일을 찾아서 컴파일 할때 쓸수있다.

-L dir : 라이브러리를 어디서 찾을지 지정해준다.

-I : 공유라이브러리를 사용할수 있도록 해준다.

 

Compiler preprocessor options

-E : Preprocess only

-D def : Define def

-U def : Undefine def

 

Compiler warning options

-v : Verbose mode  여러가지 메시지를 많이 찍어준다.

-w : warning 을 적게 찍어준다.

-W : 더많은 waring 메시지를 찍어준다.

-Wall : 중요한 warning을 다 찍어준다.

 

Compiler debugging options

-g : Include debugging information 여러가지 정보를 넘겨준다.

-pg : Provide profile information for gprof 어떤부분에서 시간을 많이 소모하는지 알수 있다.

 

Compiler input/output options

-c : Stop after creating object files, don't link 어셈블링하고 ,오브젝트 만드는데 까지만 수행하게 한다.

-o file : 파일 이름으로 오브젝트를 생성하라

 

Compiler control options

-ansi : c90이라는 표준에 맞게 작성된 프로그램을 컴파일 하는 명령어

-pedantic : gcc 확장을 사용하지 말라는 명령어

-std=c99 : c99 표준에 맞도록 컴파일 해주는 명령어

-static : shared library말고 static을 사용하라는 명령어

-O[lev] : 가장 많이 사용되는 optimization은 2이다.

-Os : optimization을 할때 size를 고려하여 한다.

 

Common set of options

-O2 -Wall -pedantic (최적화를 2단계하고 중요한 경고 메시지를 출력하고 c표준에 맞게 하라)

★ Don't use -pedantic when compiling Linux Kernel, which uses many gcc extensions

-pedantic은 리눅스상에서 사용하면 안된다. 리눅스 커널은 gcc extension을 많이 사용하기 때문이다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31