ubuntu_Git

07. GCC 컴파일 과정

Godffs 2012. 3. 14. 02:30
반응형

먼저 gcc란? 

gcc는 컴파일러 입니다. 

컴파일러란?
개발자가 프로그램 언어로 프로그램을 코딩을 하면 -> 컴퓨터가 개발자가 작성한 코드를 해석해야하는데요...
이 과정을 컴파일러라고 합니다.
컴파일러가 개발자가 작성한 코드를 기계어로 바꿔서 컴퓨터에게 알려주는거죠...
 

[그림 07-1]


컴파일 하는 과정입니다. [ Hello.c 를 컴파일 하기 ] 

[그림 07-2]


[그림 07-3]


간단한 예제 코드를 작성하고~이제 컴파일 합니다~

 1단계 전처리 cpp
코드 상단에 시작되는 #으로 시작하는 것을 전처리 부분이라고 합니다.
전처리 부분을 처리하기 위한 과정을 거쳐 파일.i로 임시파일을 생성해줍니다. 
gcc -E -o ex01.Hello.i ex01.Hello.c

 2단계 컴파일 단계 cc1
 전처리된 파일.i 를 컴파일하는 과정입니다. 이 과정을 거치게 되면 어셈블리 로 바꿔주게 됩니다.
gcc -S -o ex01.Hello.s ex01.Hello.c

 3단계 어셈블리 단계 as
 파일.s를 오브젝트 파일로 변환하는 과정입니다.
gcc -c -o ex01.Hello.o ex01.Hello.c

 4단계 링크 단계 id
 오브젝트 에서 링크 단계를 거쳐서 실행파일을 만드는 과정입니다.
gcc -o ex01.Hello.out ex01.Hello.c

전체 과정을 화면에 보기
gcc -v --save-temps -o Hello.exe ex01.Hello.c

[그림 07-4]


끝~!
부족한 부분 말씀해주시면
공부해서 정리하겠습니다.
반응형