Blog Content

    티스토리 뷰

    07. GCC 컴파일 과정

    반응형

    먼저 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]


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

    'ubuntu_Git' 카테고리의 다른 글

    09. Kernel 의 종류  (0) 2012.03.25
    08. Kernel 이란?  (0) 2012.03.18
    06. 리눅스란?  (2) 2012.03.10
    05. gcc 옵션  (1) 2012.02.21
    04. Vim명령어  (4) 2012.02.20

    Comments